# Flash_Boy **Repository Path**: Beqee/flash_boy ## Basic Information - **Project Name**: Flash_Boy - **Description**: 是一个强大的Android刷机工具包括各种的adb玩法 - **Primary Language**: Go - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2025-11-06 - **Last Updated**: 2025-11-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Flash Boy GUI ![应用图标](app.png) ## 项目介绍 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编译文档](README_LINUX.md) ## 构建和运行指南 ### Windows 构建过程 在 Windows 平台上构建 Flash Boy GUI 应用程序的详细步骤如下: #### 1. 安装 Go 环境 确保安装 Go 1.24.5 或更高版本: ```bash # 检查 Go 版本 go version # 如果未安装或版本过低,从官方网站下载并安装: # https://golang.org/dl/ ``` #### 2. 安装必要的依赖 Windows 平台通常需要安装以下依赖: - Git(用于获取项目代码) - GCC 编译器(用于 CGO 支持) 可以通过 MSYS2 或 TDM-GCC 安装 GCC 编译器。 #### 3. 获取项目代码 克隆或下载项目代码到本地: ```bash # 使用 Git 克隆项目(如果有远程仓库) git clone https://gitee.com/bzhanyiqiu/flash_boy.git # 或者直接从 Windows 资源管理器中打开项目文件夹 ``` #### 4. 进入项目目录并编译 ```bash 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. 运行应用程序 编译完成后,可以通过以下方式运行: ```bash # 直接运行可执行文件 FlashBoy.exe # 或者通过 Go 命令直接运行(开发模式) go run main.go ``` ### Linux 构建过程 Linux 平台支持多种发行版的构建过程,包括 Ubuntu/Debian、Fedora/CentOS/RHEL 和 Arch/Manjaro。 请参阅 [Linux编译文档](README_LINUX.md) 了解详细的 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 或更高版本 ```bash # 检查 Go 版本 go version # 确认 Go 环境变量设置正确 echo $GOPATH # Linux/Mac echo %GOPATH% # Windows ``` 2. **依赖完整性**:确保所有必要的依赖都已正确安装 ```bash # 更新 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 或确保文件具有执行权限 ```bash chmod +x FlashBoy ``` 2. **缺少共享库**(Linux): ```bash # 检查程序依赖的共享库 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无法使用的问题 - **修复: **修复应用管理获取应用列表卡顿的问题 - **新增: **环境检查新增设备选择器 - **新增: **应用管理新增保留数据卸载、应用列表扫描级别的功能(用户应用、系统应用、禁用应用、启用应用、所有应用) - **新增: **新增文件拉取上传功能 - **新增: **小白刷机指南