组织介绍

Flash Boy GUI

应用图标

项目介绍

Flash Boy GUI 是一款功能全面的 Android 设备管理与刷机工具,采用 Go 语言和 Fyne 图形框架开发,提供直观、现代化的图形界面。该工具集成了丰富的设备管理功能,从基本的环境检测到高级的刷机操作,旨在为用户提供一站式的 Android 设备管理解决方案。

最新更新

  • 优化日志版本的日志详细程度(最高等级)

  • 重新设计文件拉取上传的UI布局

  • 重构智能刷写功能

  • 新增设备重启功能

  • 修复adb_screen_mirror.go文件的编译错误(移除未使用的time包,添加ADBScreenMirror结构体定义)

  • 为多个辅助函数添加了详细的日志记录功能,包括isVABPartitionSystem、flashPartition、flashPartitionVAB、rebootDevice和rebootToFastbootd

主要亮点

  • 全面的设备管理功能:集成环境检测、刷机工具、ADB 功能等多种实用工具
  • 友好的用户界面:基于 Fyne 框架构建,提供响应式设计和现代化的用户体验
  • 跨平台支持:同时支持 Windows 和 Linux 操作系统
  • 丰富的刷机工具集:包括 payload.bin 解包、智能 REC 刷写、系统刷写等功能
  • 自适应背景:支持动态背景切换和文本颜色优化,提升视觉体验

应用场景

  • Android 设备刷机和系统升级
  • 设备调试和环境检测
  • 应用程序管理和屏幕镜像
  • ROM 下载和管理
  • 驱动安装和管理

功能特性

  • 📱 设备环境检测:全面检查设备连接状态和系统环境
  • 刷机工具集:包括 payload.bin 解包、智能 REC 刷写、fastbootd 模式修复、系统刷写等
  • 🚀 Boot/Init_Boot 刷写:支持自定义 Boot 镜像刷写
  • 🔄 ADB Sideload:便捷的 ADB 旁加载功能
  • 🔧 高通引导支持:内置丰富的 Firehose 编程库,支持多种高通芯片型号的引导程序
  • 📲 ADB 应用管理:轻松管理设备上的应用程序
  • 📹 ADB 投屏:将设备屏幕镜像到电脑
  • 💻 驱动管理:Windows 系统下的设备驱动安装支持
  • 🌐 ROM 下载中心:内置多种官方和第三方 ROM 下载链接
  • 📚 刷机指南:提供详细的使用帮助和教程
  • 🎨 自适应背景:支持动态背景切换和文本颜色优化
  • 🌈 现代化界面:响应式设计,支持选项卡式导航

Linux编译文档点击下面链接

  • 本项目以后不再提供Linux安装包,如果需要在Linux上运行,请参考编译文档自行编译对应的Linux平台的可执行程序

Linux编译文档

构建和运行指南

Windows 构建过程

在 Windows 平台上构建 Flash Boy GUI 应用程序的详细步骤如下:

1. 安装 Go 环境

确保安装 Go 1.24.5 或更高版本:

# 检查 Go 版本
go version

# 如果未安装或版本过低,从官方网站下载并安装:
# https://golang.org/dl/

2. 安装必要的依赖

Windows 平台通常需要安装以下依赖:

  • Git(用于获取项目代码)
  • GCC 编译器(用于 CGO 支持)

可以通过 MSYS2 或 TDM-GCC 安装 GCC 编译器。

3. 获取项目代码

克隆或下载项目代码到本地:

# 使用 Git 克隆项目(如果有远程仓库)
git clone https://gitee.com/bzhanyiqiu/flash_boy.git

# 或者直接从 Windows 资源管理器中打开项目文件夹

4. 进入项目目录并编译

cd Flash_Boy_GUI

# 更新 Go 模块依赖
go mod tidy

# 编译项目(生成无控制台窗口版本)
go build -ldflags "-H windowsgui" -o FlashBoy.exe main.go

# 或者编译带控制台窗口版本(用于调试)
go build -o FlashBoy.exe main.go

5. 运行应用程序

编译完成后,可以通过以下方式运行:

# 直接运行可执行文件
FlashBoy.exe

# 或者通过 Go 命令直接运行(开发模式)
go run main.go

Linux 构建过程

Linux 平台支持多种发行版的构建过程,包括 Ubuntu/Debian、Fedora/CentOS/RHEL 和 Arch/Manjaro。

请参阅 Linux编译文档 了解详细的 Linux 平台构建指南,包括:

  • 各发行版的系统依赖安装命令
  • Go 环境配置
  • 编译步骤和故障排除
  • RPM 打包指南(针对 Red Hat 系系统)

项目结构及文件作用

Flash_Boy_GUI/
├── main.go            # 主程序文件,包含程序入口和主要界面逻辑
├── QC/                # 高通引导相关文件,包含各种高通芯片平台的Firehose编程库
│   └── FirehoseLibrary/ # Firehose编程库集合,支持多种高通芯片型号的引导程序
├── Utils/             # 工具函数包,包含各种功能实现
│   ├── adb_app_manager.go    # ADB应用管理工具,提供应用安装、卸载等功能
│   ├── adb_screen_mirror.go  # ADB投屏工具,实现设备屏幕镜像功能
│   ├── adb_sideloader.go     # ADB旁加载工具,支持APK或OTA包的旁加载
│   ├── boot_flasher.go       # Boot刷写工具,用于刷写boot.img
│   ├── driver_installer.go   # 驱动安装工具,Windows平台下安装设备驱动
│   ├── environment_check.go  # 环境检查工具,检测ADB、Fastboot等环境
│   ├── fastbootd_repair.go   # fastbootd模式修复工具
│   ├── flashsystem.go        # 系统刷写工具,支持完整系统镜像刷写
│   ├── payload_dumper.go     # payload.bin解包工具
│   ├── recovery_flasher.go   # 智能REC刷写工具
│   ├── rom_downloader.go     # ROM下载工具,提供ROM下载功能
│   ├── windows_hide_window.go # Windows平台窗口隐藏功能
│   └── nonwindows_hide_window.go # 非Windows平台窗口隐藏功能
├── ui/                # 界面组件包,包含各功能模块的UI实现
│   ├── adb_app_ui.go         # ADB应用管理界面
│   ├── adb_screen_mirror_ui.go # ADB投屏界面
│   ├── adb_sideloader_ui.go  # ADB旁加载界面
│   ├── boot_flasher_ui.go    # Boot刷写界面
│   ├── driver_ui.go          # 驱动安装界面
│   ├── environment_ui.go     # 环境检查界面
│   ├── fastbootd_ui.go       # fastbootd模式修复界面
│   ├── flash_system_ui.go    # 系统刷写界面
│   ├── help_ui.go            # 帮助文档界面
│   ├── payload_dumper_ui.go  # payload.bin解包界面
│   ├── recovery_ui.go        # 智能REC刷写界面
│   ├── rom_downloader_ui.go  # ROM下载界面
│   └── sidebar_controller.go # 侧边栏控制器
├── theme/             # 主题包
│   └── custom_theme.go       # 自定义主题,定义应用的视觉风格
├── bg/                # 背景图片目录
│   ├── bg4.png               # 背景图片
│   └── 新建文件夹/           # 更多背景图片
│       ├── bg.png
│       ├── bg1.png
│       ├── bg2.png
│       ├── bg3.png
│       └── bg5.png
├── bin/               # 二进制工具目录,包含ADB、Fastboot等命令行工具
│   ├── linux/        # Linux平台工具
│   │   ├── adb              # Android调试桥工具
│   │   ├── fastboot         # Fastboot工具
│   │   ├── payload-dumper-go # payload解包工具
│   │   └── ...              # 其他Linux工具
│   └── windows/      # Windows平台工具
│       ├── adb.exe          # Android调试桥工具(Windows版本)
│       ├── fastboot.exe     # Fastboot工具(Windows版本)
│       ├── payload-dumper-go.exe # payload解包工具(Windows版本)
│       └── ...              # 其他Windows工具
├── app.png            # 应用图标
├── app.ico            # 应用图标(Windows)
├── install-linux.sh   # Linux安装脚本,用于一键安装项目依赖
├── build.bat          # Windows批处理构建脚本
├── check_gtk_deps.sh  # GTK依赖检查脚本(Linux)
├── devices/           # 设备相关资源,主要是Windows驱动
│   └── Windows/       # Windows平台设备驱动
│       ├── 9008/      # Qualcomm 9008模式驱动
│       ├── MTK/       # MediaTek设备驱动
│       ├── OnePlus/   # OnePlus设备驱动
│       ├── Xiaomi/    # Xiaomi设备驱动
│       └── fastboot/  # Fastboot模式驱动
├── go.mod             # Go模块依赖文件,定义项目依赖
├── go.sum             # 依赖校验和文件
├── fyne_demo.exe      # Fyne框架演示程序
├── rsrc_windows_386.syso # Windows 32位资源文件
├── rsrc_windows_amd64.syso # Windows 64位资源文件
├── tools/             # 额外工具目录
│   ├── linux/         # Linux平台额外工具
│   │   └── scrcpy-linux/ # scrcpy投屏工具(Linux版本)
│   ├── windows/       # Windows平台额外工具
│   │   ├── DNA/       # DNA工具
│   │   └── scrcpy/    # scrcpy投屏工具(Windows版本)
│   ├── scrcpy.txt     # scrcpy说明文件
│   └── scrcpy_config.txt # scrcpy配置文件
├── winres/            # Windows资源文件目录
│   ├── app.ico        # Windows应用图标
│   ├── icon.png       # 图标源文件
│   ├── icon16.png     # 16x16图标
│   └── winres.json    # 资源配置文件
├── README.md          # 项目主要说明文档
└── README_LINUX.md    # Linux平台专用说明文档

技术栈

Flash Boy GUI 项目使用了以下核心技术和组件:

  • Go (1.24.5) - 主要编程语言,提供高效的并发处理和跨平台支持
  • 高通 Firehose 编程库 - 用于高通芯片设备的低级编程和引导加载程序操作
  • Fyne (v2.6.3) - Go语言的跨平台GUI框架,用于构建现代化界面
  • CGO - 用于Go与C语言库的互操作,特别是图形渲染和系统调用
  • OpenGL - 图形渲染库,通过Fyne框架用于GUI绘制
  • ADB/Fastboot - Android调试桥和Fastboot工具,用于与Android设备通信
  • GTK+3 - Linux平台上的图形界面工具包,Fyne框架在Linux上的后端依赖
  • X11/Xorg - Linux平台上的窗口系统,用于GUI显示
  • Windows API - Windows平台上的系统调用接口

版本信息

  • 版本: v2025.10.2
  • 作者: 游戏科技君弈秋啊
  • 开源协议: Apache 2.0 License

注意事项

  1. 背景图片要求:确保 bg/ 目录中包含至少一个背景图片文件(只支持PNG格式)
  2. 自动颜色适应:程序会自动检测背景图片并调整文本颜色以获得最佳可读性
  3. 背景切换功能:在bg文件夹存放一张真png图片,请不要存放修改文件后缀的图片,名称以bg.png,bg1.png,bg2.png,pg数字.png命名
  4. 工具完整性:确保 bin/ 目录中对应平台的工具(ADB、Fastboot等)齐全且具有执行权限
  5. Windows驱动:在Windows平台上,首次连接某些设备时可能需要安装驱动,请使用内置的驱动安装功能
  6. 管理员权限:某些操作(如驱动安装、系统刷写)可能需要以管理员/root权限运行程序
  7. 网络连接:使用ROM下载功能时,请确保网络连接正常

故障排除

编译错误

如果遇到编译错误,请检查以下几点:

  1. Go 环境:确保已正确安装 Go 1.24.5 或更高版本

    # 检查 Go 版本
    go version
    
    # 确认 Go 环境变量设置正确
    echo $GOPATH  # Linux/Mac
    echo %GOPATH%  # Windows
  2. 依赖完整性:确保所有必要的依赖都已正确安装

    # 更新 Go 模块依赖
    go mod tidy
  3. CGO 支持:确保已安装 GCC 编译器以支持 CGO

    • Windows:通过 MSYS2 或 TDM-GCC 安装
    • Linux:安装 gcc 和 g++ 包
  4. 图形库依赖

    • Windows:通常不需要额外安装图形库
    • Linux:确保已安装 OpenGL 和 X11 开发库(具体请参考 README_LINUX.md)

运行时错误

  1. 权限问题

    • Windows:尝试以管理员身份运行
    • Linux:使用 sudo 或确保文件具有执行权限
    chmod +x FlashBoy
  2. 缺少共享库(Linux):

    # 检查程序依赖的共享库
    ldd FlashBoy
    # 根据输出安装缺失的库
  3. 设备连接问题

    • 确认 USB 线缆连接稳定
    • 检查设备的 USB 调试模式是否已启用
    • 尝试重新安装设备驱动
  4. 背景图片错误

    • 如果无法加载背景图片,请检查 bg/ 目录中是否有有效的图片文件
    • 支持的格式:PNG、JPEG
  5. 工具路径问题

    • 确保 bin/ 目录结构正确,包含对应平台的工具

更新日志

v2025.10.3

  • 优化日志版本的日志详细程度(最高等级)

  • 重新设计文件拉取上传的UI布局

  • 重构智能刷写功能

  • 新增设备重启功能

  • 修复adb_screen_mirror.go文件的编译错误(移除未使用的time包,添加ADBScreenMirror结构体定义)

  • 为多个辅助函数添加了详细的日志记录功能,包括isVABPartitionSystem、flashPartition、flashPartitionVAB、rebootDevice和rebootToFastbootd

v2025.10.2

  • 增强了 getPlatformBinDir 方法,使其返回错误而非空字符串

  • 增加了路径存在性检查和默认路径回退机制

  • 增强了设备状态检测

  • 优化了 GetDeviceStatus 方法,添加重试机制和改进错误处理

  • 改进了 WaitForDevice 方法,增加模式变化记录和动态等待时间调整

  • 提升了设备连接检测可靠性

  • 优化了 checkFastbootDevice 方法,实现5种不同的检测策略

  • 改进了 getADBDevices 方法,增加重试机制和设备列表稳定性检查

  • 增强了设备模式识别

  • 优化了 isInRecoveryMode 方法,实现4种不同的recovery模式检测策略

  • 改进了 isInSystemMode 方法,实现4种不同的system模式检测策略

  • 提升了分区和槽位检测能力

  • 优化了 CheckBootloaderUnlock 方法,尝试多种解锁状态属性检测

  • 改进了 CheckCriticalUnlock 方法,增加关键分区解锁状态检测

  • 增强了 CheckDynamicPartitions 方法,支持多种动态分区检测方式

  • 改进了 GetCurrentSlot 方法,实现多策略槽位检测和ADB回退检测

  • 优化了fastbootd模式支持

  • 增强了 DeviceSupportFastbootd 方法,支持fastboot检测、ADB检测和设备厂商匹配

  • 所有优化都包含了以下共性增强:

  • 增加了详细的日志记录,便于故障排查

  • 实现了重试机制,提高命令执行成功率

  • 添加了命令超时处理,防止长时间阻塞

  • 设置了标准环境变量,确保工具正常运行

  • 支持设备ID参数,适应多设备环境

  • 这些优化显著提高了DeviceManager模块的稳定性、可靠性和兼容性,使其能够更好地处理各种Android设备的不同状态和特性。

  • 优化记录设备代号显示问题的修复和设备检测优化内容

  • 修复修复了环境检查设备刷新无法正常显示设备代号的问题,改进了设备解析逻辑,从原来只支持制表符分隔改为同时支持空格和制表符分隔

  • 优化增强了设备检测的准确性,特别是在解析adb devices命令输出时

  • 优化了设备选择器功能,解决了fastboot和fastbootd模式设备无法检测的问题

  • 重构了GetConnectedDevicesDirectly函数,实现ADB和Fastboot设备同时检测

  • 优化设置设定无效的问题

  • 重构智能刷写功能

  • 新增设备重启功能

  • 修复adb_screen_mirror.go文件的编译错误(移除未使用的time包,添加ADBScreenMirror结构体定义)

  • 为多个辅助函数添加了详细的日志记录功能,包括isVABPartitionSystem、flashPartition、flashPartitionVAB、rebootDevice和rebootToFastbootd

  • 更新了README.md文档,完善项目结构说明和版本信息

v2025.10.1

  • 优化了设备选择器功能,解决了fastboot和fastbootd模式设备无法检测的问题
  • 重构了GetConnectedDevicesDirectly函数,实现ADB和Fastboot设备同时检测
  • 改进了驱动检测功能,提高了9008驱动和MTK驱动检查的准确性
  • 添加了高通引导支持,包含丰富的Firehose编程库文件
  • 优化了设备模式智能识别功能,支持系统/Recovery/Sideload/Fastboot/Fastbootd等多种模式
  • 修复了PowerShell命令执行问题,确保非交互式环境下正常运行
  • 修复了UI按钮点击区域错位问题,优化了布局结构
  • 修复了Recovery模式下重启命令执行失败的问题,增加了命令执行策略
  • 修复了重启成功但仍显示错误的问题,优化了命令执行结果判断逻辑
  • 优化了程序关闭策略(新增程序关闭策略选择并在设置中可以执行更改)
  • 新增设备重启功能

v2025.9.15

  • **修复: ** 修复环境检查的精准度(修复可能出现程序驱动没有安装,但是显示已安装的Bug)
  • **修复: **修复应用管理禁用app、启用app无法使用的问题
  • **修复: **修复应用管理获取应用列表卡顿的问题
  • **新增: **环境检查新增设备选择器
  • **新增: **应用管理新增保留数据卸载、应用列表扫描级别的功能(用户应用、系统应用、禁用应用、启用应用、所有应用)
  • **新增: **新增文件拉取上传功能
  • **新增: **小白刷机指南
成就
12
Star
2
Fork
成员(1)
14604032 bzhanyiqiu 1719994003
BiliBili-Yiqiu

搜索帮助