update README

This commit is contained in:
PizzaG 2026-08-01 15:09:07 -04:00
commit 79005a062b

153
README.md
View file

@ -1,85 +1,184 @@
# A-Team Android ROM Builder # A-Team Android ROM Builder
A GTK-based Android ROM build environment designed to simplify syncing, configuring, and compiling custom Android ROMs.
Built for Linux, the builder provides an organized interface for managing multiple ROM trees, devices, and build scripts without relying on lengthy terminal commands. A GTK-based Android ROM development and build environment designed to simplify syncing, configuring, compiling, and managing custom Android ROM projects.
Built for Linux, A-Team Android ROM Builder provides an organized graphical interface for managing multiple ROM trees, devices, build configurations, scripts, and remote build machines without relying on lengthy or repetitive terminal commands.
The project remains **script-driven at its core**, allowing existing Bash build workflows to be used while providing a convenient desktop interface around them.
## Features ## Features
* Simple GTK Desktop Interface
* Simple GTK 3 Desktop Interface
* Support For Multiple Android ROM Projects * Support For Multiple Android ROM Projects
* Support For Multiple Android Devices
* Device-Specific Configuration Files * Device-Specific Configuration Files
* Embedded Terminal For Live Build Output * Automatic Environment Variable Management
* Resource Monitor For CPU, Memory, & System Usage * Embedded VTE Terminal For Live Command & Build Output
* Integrated Resource Monitor For CPU, Memory, & System Usage
* Automated Device Repository Syncing * Automated Device Repository Syncing
* Configurable Build Variants & Build Jobs
* Optional Ccache Support
## Features - ADVANCED
* Script Launcher For Common Development Tasks * Script Launcher For Common Development Tasks
* Environment Variable Management
* Easily Expandable Project Structure
## Remote Build / SSH Support
A-Team Android ROM Builder can also work with remote Linux build machines through SSH.
This allows the GUI to remain on your local workstation while commands and Android build operations can be performed on a more powerful remote system.
Remote build functionality includes:
* Configurable SSH Build Hosts
* Connect To Remote Build Machines Directly From The GUI
* Embedded SSH Terminal Sessions
* Remote Command Execution
* Remote Android ROM Build Support
* Remote Resource Monitoring
* Build Host Selection From The GUI
* Reuse Of Existing Device & ROM Configuration
* Local Or Remote Build Workflows From The Same Interface
This makes it possible to use dedicated build servers, secondary Linux machines, or high-core-count systems without having to manually SSH into them before every build.
## Advanced Features
* Modular Python Backend
* Script Launcher For Build & Development Utilities
* Device-Specific Environment Variables
* ROM-Specific Environment Variables
* Automatic Build Environment Generation
* Configurable Android Version
* Configurable Build Variant
* Configurable Parallel Build Jobs
* Ccache Integration
* Local & Remote Build Host Support
* Expandable Device Configuration System
* Expandable ROM Configuration System
* Script Execution From The Selected ROM Tree
* Live Terminal Output
* Integrated System Resource Monitoring
## Project Structure ## Project Structure
```text ```text
A-Team-Android_ROM_Builder/ A-Team-Android_ROM_Builder/
├── builder/ # Core application modules ├── builder/ # Core application modules
├── configs/ # Device and ROM configuration files ├── configs/ # Device, ROM, and application configuration files
├── scripts/ # Build and utility scripts ├── scripts/ # Build, sync, and utility scripts
├── gui.py # Application entry point ├── gui.py # Main GTK application entry point
└── README.md └── README.md
``` ```
## Requirements ## Requirements
### Base Requirements
* Linux * Linux
* Python 3 * Python 3
* GTK 3 * GTK 3
* VTE 2.91 * VTE 2.91
* Git * Git
* Android build dependencies * Bash
* Android Build Dependencies
### Remote Build Requirements
For SSH / remote build functionality:
* OpenSSH Client
* SSH Access To The Remote Linux Build Machine
* Android Build Environment Configured On The Remote Host
* Git / Repo And Required Build Dependencies On The Remote Host
SSH key authentication is recommended so remote build sessions can be started without repeatedly entering passwords.
## Getting Started ## Getting Started
Clone the repository: Clone the repository:
```bash ```bash
git clone https://ateam.gotadell.com/git/PizzaG/A-Team-Android_ROM_Builder.git git clone https://ateam.gotadell.com/git/PizzaG/A-Team-Android_ROM_Builder.git
cd A-Team-Android_ROM_Builder cd A-Team-Android_ROM_Builder
``` ```
Launch the application: Launch the application:
```bash ```bash
python3 gui.py python3 gui.py
``` ```
## Configuration ## Configuration
Device settings are stored in: Device settings are stored in:
```
```text
configs/<device>.conf configs/<device>.conf
``` ```
ROM-wide settings are stored in: ROM-wide settings are stored in:
```
```text
configs/rom.conf configs/rom.conf
``` ```
The builder exports the required environment variables automatically before executing build scripts. Configuration files allow device and ROM-specific values to remain separate from the application itself.
When a project is selected, A-Team Android ROM Builder loads the appropriate configuration and automatically exports the required environment variables before executing build or utility scripts.
## Build Workflow
A typical workflow consists of:
1. Launch A-Team Android ROM Builder.
2. Select the Android device.
3. Select the ROM and branch.
4. Select the Android version.
5. Select the local or remote build host.
6. Configure build options such as build variant, jobs, and ccache.
7. Sync the required device repositories.
8. Run build or utility scripts.
9. Monitor terminal output and system resources directly from the GUI.
Because the builder remains script-driven, existing Android build scripts can continue to be used without moving the actual build logic into the GUI.
## Design Philosophy
A-Team Android ROM Builder is intended to act as a frontend and project manager for an existing Android development environment rather than replacing the Android build system.
The application focuses on:
* Reducing repetitive setup tasks
* Keeping device configurations organized
* Keeping ROM configurations organized
* Making switching between Android projects simple
* Simplifying local and remote build workflows
* Providing immediate access to build output
* Providing system resource information during builds
* Keeping build logic inside reusable scripts
* Remaining modular and easy to customize
## Goals ## Goals
The project is intended to provide a lightweight, modular Android ROM build environment that:
* Reduces repetitive setup tasks The project aims to provide a lightweight Android ROM development environment that:
* Keeps device configurations organized
* Makes switching between ROM projects simple * Makes Android ROM development easier to manage
* Provides a clean GUI while remaining script-driven * Reduces repetitive terminal commands
* Provides one interface for multiple devices and ROMs
* Supports both local workstations and remote build servers
* Keeps configuration separate from application logic
* Makes existing Bash scripts easy to integrate
* Remains useful to experienced Android developers without hiding the underlying build process
* Stays easy to customize and extend * Stays easy to customize and extend
## Contributing ## Contributing
Contributions, bug reports, and feature suggestions are welcome. Feel free to open an issue or submit a pull request.
Contributions, bug reports, improvements, and feature suggestions are welcome.
Feel free to open an issue or submit a pull request.
## License ## License
Released under the GNU General Public License v3.0 (GPL-3.0) | 2019-Present --> A-Team Digital Solutions
Released under the **GNU General Public License v3.0 (GPL-3.0)**.
**2019-Present — A-Team Digital Solutions**