Documentation

Guides, architecture and validation records

The repository is the technical source of truth. This curated guide organizes the essential workflows, architecture, and diagnostics for developers building Android applications on Linux ARM64.

01Getting Started

Everything needed to install and verify the native ARM64 Android toolchain.

AWhat ADT is & who it is for

Native ARM64 Android SDK build-tools and platform-tools compiled from official AOSP source for Linux glibc, enabling phones, tablets, and ARM64 single-board computers to develop Android apps without an x86_64 host.

Read overview →

BInstallation & setup.sh

Clone the repository and run ./setup.sh install-profile validated to install the tested toolchain bundle (build-tools 35.0.2 + NDK 27.2 + android-36) into your environment.

Installation reference →

CPreflight verification

Run ./setup.sh doctor to verify architecture, paths, JDK availability, and tool integrity before starting builds.

Diagnostics guide →

02Understanding ADT Architecture

How AOSP source code is adapted to native Linux ARM64 without binary emulation.

ADT Architecture Diagram

AOSP native build strategy

Google distributes Linux SDK host tools only as x86_64 binaries. ADT adapts the source build scripts to compile directly with the host C/C++ compiler targeting Linux/glibc aarch64.

Build internals →

Physical host device vs emulator

Crucial distinction: ADT runs directly on the physical Android host hardware (via Termux + PRoot Debian). The execution target is the real bare-metal phone or tablet, not an external emulator or virtual machine.

Validation topology →

Toolchain packaging

Pre-compiled releases are verified with ELF architecture checks (aarch64) and distributed as self-contained offline-installable tarballs.

Version registry →

03Workflows & Automation Architecture

From source compilation to on-device validation, distinguishing verified tools from future automation.

ADT Pipeline and Closed-Loop Automation Diagram

Build & packaging pipeline

Use aapt2 compile and aapt2 link to generate the binary resources and APK shell, align with zipalign -p 4, and sign cryptographically using apksigner.

Native build guide →

On-device ADB & debugging

Connect to the host device via wireless debugging (adb connect 127.0.0.1:<port>) or local USB bridge, install packages, and stream live diagnostics with adb logcat.

ADB command guide →

Closed-loop automation

Implemented today: Complete manual on-device build, signing, and test pipeline. Architectural potential: Authorized agents modifying code, triggering builds, deploying via ADT, and evaluating logcat feedback.

Handoff record →

04ADT & TERNUX Relationship

Two independent layers of one physical ARM64 device story.

ADT and TERNUX Relationship Architecture

Distinct project roles

TERNUX delivers the Linux desktop workspace (Debian userspace, Xfce4, X11, Turnip GPU acceleration). ADT delivers the Android development toolchain (AOSP SDK tools, signing, ADB).

TERNUX website →

Verified vs. experimental

Both projects are verified independently on the same physical device foundation (Redmi Turbo 4 Pro, Termux + PRoot Debian). Cross-project workflows coexist in practice but are not tested as a unified package.

Full relationship document →

05Troubleshooting & Diagnostics

Direct guidance for common connection, tool architecture, and permission issues.

Architecture mismatch traps

If a build fails with "No such file or directory" despite the binary being present, check its architecture with file <binary>. ADT's ./setup.sh doctor automatically catches x86_64 traps.

Architecture checks →

Wireless ADB pairing

Remember that Android wireless debugging uses separate ephemeral ports for initial pairing (adb pair) and connection (adb connect). Do not reuse the pairing port for connection.

Step-by-step pairing →

Shizuku operational dependency

Detailed forensic record on how custom Shizuku relays interface with on-device ADB, port 5555 persistence, and crash resilience.

Read forensic report →

06Real-Device Validation Records

Device engineering produces records, not marketing claims. These documents live directly in the repository alongside the tools they validate.

07Source, Licensing & Community

Attribution: Sobuj Miah (@soobujmiah) · Licensed under Apache License 2.0. Typography: Space Grotesk and JetBrains Mono under SIL Open Font License — see font licenses.