Releases: Fred12301/FastbootGUI
Release list
FastbootGui Version 0.2
** Problem with the Browser feature on Windows: the script will shut down because a module called "win32timezone" is missing. I need to find a way to fix this.
-
Assignment of the "selected_file" attribute
The attribute is now initialized in the constructor (self.selected_file = None) to prevent assignment errors. -
Error handling when checking adb/fastboot commands
In the update_device_status method, exceptions (notably FileNotFoundError) are handled to prevent the application from crashing. -
Full translation into English
All text strings have been translated into English by default (with the option to switch to French via the language toggle). -
Multi-threading and real-time feedback
All long-running operations (download, extraction, installation, update, flash, etc.) run in separate threads to ensure UI responsiveness. A label at the bottom displays the real-time status of the devices. -
Adding an automatic detection feature (in a loop), which attempts to detect your device via adb/fastboot.
FastbootGuiMini - Project Tkinter
-
Flash partition
-
Choose a partition
-
Choose a slot [A/B] or none
-
Terminal emulator connected to your terminal
-
Translation in French and English
-
Black/White color choice for the interface
-
White/Black color choice for the log
-
Lock/Unlock Bootloader via fastboot
-
Reboot
-
Erase partition data
Fix applied to version 1, the screen is now responsive and can be resized if desired.
FastbootGui Version 0.1
Problem with the Browser feature on Windows: the script will shut down because a module called "win32timezone" is missing.
FastBootGUI is a graphical application developed with Kivy for managing ADB (Android Debug Bridge) and Fastboot, two essential tools for administering Android devices via USB.
The application provides a user-friendly interface that allows users to:
Install and update ADB/Fastboot
Execute Fastboot and ADB commands
Flash partitions on an Android device
Display system information via Fastboot
Interact with connected Android devices
It is designed to work on both Linux, handling background operations through multi-threading to ensure the interface remains responsive while commands are being executed.
- Key Features
Installation and Update of ADB/Fastboot
The application enables users to:
Check if ADB and Fastboot are installed (Check ADB/Fastboot).
Download and install the latest version of Google’s platform-tools.
Update ADB/Fastboot if an outdated version is detected.
Optimizations:
-
Resumable download in case of interruptions.
-
Integrity verification using a hash check on the downloaded file.
-
Automatic extraction of the archive after downloading.
Android Device Management
FastBootGUI provides the following functionalities:
List connected ADB devices (Check ADB Devices).
List connected Fastboot devices (Check Fastboot Devices).
Check if a device is in FastbootD mode.
Display all Fastboot variables (getvar all).
Reboot devices into various modes:
Recovery Mode (Reboot Recovery).
Bootloader/Fastboot Mode (Reboot Bootloader).
FastbootD Mode (Reboot FastbootD).
EDL (Emergency Download Mode) (Reboot EDL).
Advanced Flashing Management
The application allows users to flash a firmware or file onto a specific partition:
Select a .img, .tar, or .zip file (Browse).
Choose the target partition (system, boot, recovery, vendor, etc.).
Select the target slot (A, B, or None for global partitions).
Verify device status before flashing.
Enable verbose mode to display detailed logs.
Enable force mode to bypass warnings.
Before flashing, a confirmation dialog box appears to prevent accidental actions.
Sideload Command
The application supports sideloading to install system updates without a PC:
Select a .zip file to be flashed.
Choose between adb -b sideload or adb -a sideload modes.
Additional Tools
Erase the cache via Fastboot (Erase Cache).
View connected USB devices (Check LSUSB – Linux only).
Export logs to a .txt file.
Cancel ongoing operations (e.g., downloading) via the Cancel Operation button.
- Technology Used
Graphical Interface
The user interface is built with Kivy, a Python library for developing modern and responsive applications.
Multi-threading Management
Long-running operations (downloads, flashing, sideloading) run in separate threads to keep the user interface responsive.
Logging and Debugging
Logs are displayed directly in the graphical interface.
A adbinstaller.log file stores a complete history of operations.
Users can dynamically change the logging level (DEBUG, INFO, WARNING, ERROR).
- Options and Settings
Customizable Configuration
The application allows users to customize several settings:
Logging level (DEBUG, INFO, WARNING, ERROR).
Enable "Force Install" mode to bypass restrictions.
Enable verbose logging to display more detailed logs.
Security and Confirmation
Automatic privilege verification (admin/root) before executing critical commands.
Confirmation dialogs before performing critical actions (flashing, rebooting into EDL mode).
- Improvements and Optimizations
This script includes several advanced optimizations:
Enhanced error handling: If a Fastboot command fails, an error message is displayed with troubleshooting tips.
Resumable downloads: If a file is partially downloaded, the script resumes from the last received byte.
Validation of downloaded files using hash verification (SHA256).
Automatic removal of old versions when updating.
Addition of a cancel button to stop an ongoing download.
Progress bar for downloads and extraction processes.
- Use Cases
FastBootGUI is ideal for:
Android developers who regularly flash firmwares and custom ROMs.
Repair technicians who need quick access to ADB and Fastboot tools.
Advanced users who want to modify their device (custom recovery installation, rooting, etc.).
System partition backup and recovery before making critical changes.
FastBootGUI is a complete and robust solution for managing Fastboot and ADB with an intuitive graphical interface. With its numerous features, modular architecture, and advanced optimizations, it simplifies complex tasks related to Android device management.
Compiling FastBootGUI.py on Windows
To compile FastBootGUI.py into a Windows executable (.exe), we will use PyInstaller, a tool that transforms a Python script into a standalone executable program.
- Installing Dependencies
Before compiling, make sure you have installed Python and the required libraries.
🔹 Step 1: Install Python (if not already installed)
Download and install Python 3.x from python.org.
Add Python to PATH during installation (select the Add Python to PATH option).
🔹 Step 2: Install Required Modules
Open a command prompt (CMD or PowerShell) and run:
pip install kivy pyinstaller
If additional dependencies are required, install them with:
pip install -r requirements.txt
(Only if a requirements.txt file is available).
- Compiling with PyInstaller
Once the dependencies are installed, we will generate an .exe using PyInstaller.
🔹 Step 3: Compile in Simple Mode (Executable in a Folder)
Open a terminal in the directory containing FastBootGUI.py, then type:
pyinstaller --name=FastBootGUI --windowed --onefile FastBootGUI.py
Option Explanations:
--name=FastBootGUI → Defines the name of the .exe file.
--windowed → Hides the console (prevents a black terminal window from appearing).
--onefile → Generates a single .exe file instead of a folder containing multiple files.
After execution, the final executable will be located in the dist/ folder under the name FastBootGUI.exe.
- Adding a Custom Icon (Optional)
If you want to add a custom icon (.ico) to the executable:
pyinstaller --name=FastBootGUI --windowed --onefile --icon=icon.ico FastBootGUI.py
Replace icon.ico with the path to your icon file.
- Including Additional Files (If Needed)
If your application requires additional files (e.g., images, resources), use the following command to include them:
pyinstaller --name=FastBootGUI --windowed --onefile --add-data "path/to/file;." FastBootGUI.py
On Windows, replace : with ; in the --add-data option.
- Testing and Execution
Once the compilation is complete:
-
Navigate to the dist/ folder and run FastBootGUI.exe to ensure everything works correctly.
-
If errors appear, try using --onedir instead of --onefile to see if it resolves the issue:
pyinstaller --name=FastBootGUI --windowed --onedir FastBootGUI.py
- Creating an Installer (Optional)
If you want to create a professional Windows installer (.exe), use a tool like:
Inno Setup
NSIS (Nullsoft Scriptable Install System)
With Inno Setup, you can create a setup.exe with an installation wizard.
Summary of Steps
- Install dependencies (pip install kivy pyinstaller).
- Run PyInstaller (pyinstaller --windowed --onefile FastbootGUI.py).
- Test the executable (dist/FastBootGUI.exe).
- Create an installer (optional) with Inno Setup.
Your program is now compiled and ready to run on Windows!








