Atomux is a standalone Android terminal app built on iTermux's runtime core. It keeps Termux-style paths, bootstrap, and session wiring under host-app ownership — but here the host is Atomux itself, not a third-party IDE. Same path-independent runtime, own package identity, own app shell.
Application ID: com.nidrzero.atomux
core/: runtime library with host-derived paths, runtime config, native session builders, and offline bootstrap installationproot-plugin/: optional rootless-Linux launcher (backed by proroot) that returns the same host-facing session contract ascoreapp/: the Atomux host app that owns the runtime and verifies the runtime API surfacetools/: verification and merge-protection scripts
The runtime modules retain the upstream com.darkian.itermux.* source
namespace. The installed app identity is com.nidrzero.atomux.
iTermux.initialize()derives the runtime from the host app, writestermux.env, readstermux.properties, and auto-installs the packaged offline bootstrap on cold start when the payload is available.- Native sessions come from
core, while rootless-Linux sessions stay isolated in the optional plugin and share the sameiTermuxSessioncontract. The plugin's backend is proroot, a drop-in proot replacement with zero ptrace overhead. app/is the Atomux host and the runtime verification surface. It does not depend on the optional proot plugin.- Atomux targets 64-bit ARM only (arm64-v8a / Snapdragon).
armeabi-v7aandx86_64are intentionally dropped, andminSdkis 26 (Android 8.0). This matches proroot, which ships an arm64-v8a launcher exclusively. - Bootstrap payloads are not committed to the repo. The removed placeholder archives were synthetic; a real arm64-v8a bootstrap must be built and supplied before a cold offline first-run works on device.
- proroot's native
.sofiles are also not committed. Fetch them from the proroot Releases intoapp/src/main/jniLibs/arm64-v8a/(see that directory's README). tools/merge-check.shreportsSAFE,REVIEW, andCONFLICTstates for tagged fork files relative to an upstream-tracking ref.
./gradlew.bat :core:testDebugUnitTest./gradlew.bat :proot-plugin:testDebugUnitTest./gradlew.bat :app:testDebugUnitTest./gradlew.bat assembleDebugpowershell -ExecutionPolicy Bypass -File tools\\verify-no-termux-literals.ps1powershell -ExecutionPolicy Bypass -File tools\\verify-supported-packages-sync.ps1bash tools/merge-check.sh [base-ref] [head-ref]