From 79005a062b0334ea57ba4cd7321375db1b551ea0 Mon Sep 17 00:00:00 2001 From: PizzaG Date: Sat, 1 Aug 2026 15:09:07 -0400 Subject: [PATCH] update README --- README.md | 153 ++++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 126 insertions(+), 27 deletions(-) diff --git a/README.md b/README.md index 7327142..91c9b18 100644 --- a/README.md +++ b/README.md @@ -1,85 +1,184 @@ # 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 -* Simple GTK Desktop Interface + +* Simple GTK 3 Desktop Interface * Support For Multiple Android ROM Projects +* Support For Multiple Android Devices * Device-Specific Configuration Files -* Embedded Terminal For Live Build Output -* Resource Monitor For CPU, Memory, & System Usage +* Automatic Environment Variable Management +* Embedded VTE Terminal For Live Command & Build Output +* Integrated Resource Monitor For CPU, Memory, & System Usage * Automated Device Repository Syncing - - -## Features - ADVANCED +* Configurable Build Variants & Build Jobs +* Optional Ccache Support * 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 + ```text A-Team-Android_ROM_Builder/ ├── builder/ # Core application modules -├── configs/ # Device and ROM configuration files -├── scripts/ # Build and utility scripts -├── gui.py # Application entry point +├── configs/ # Device, ROM, and application configuration files +├── scripts/ # Build, sync, and utility scripts +├── gui.py # Main GTK application entry point └── README.md ``` - ## Requirements + +### Base Requirements + * Linux * Python 3 * GTK 3 * VTE 2.91 * 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 + Clone the repository: + ```bash git clone https://ateam.gotadell.com/git/PizzaG/A-Team-Android_ROM_Builder.git cd A-Team-Android_ROM_Builder ``` Launch the application: + ```bash python3 gui.py ``` - ## Configuration + Device settings are stored in: -``` + +```text configs/.conf ``` ROM-wide settings are stored in: -``` + +```text 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 -The project is intended to provide a lightweight, modular Android ROM build environment that: -* Reduces repetitive setup tasks -* Keeps device configurations organized -* Makes switching between ROM projects simple -* Provides a clean GUI while remaining script-driven +The project aims to provide a lightweight Android ROM development environment that: + +* Makes Android ROM development easier to manage +* 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 - ## 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 -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**