Android Studio no Termux — build APK sem root, sem PC. Java, Kotlin, ViewBinding, dependencias Maven, R8, BuildConfig, debug keystore, install via adb. Tudo em um comando.
Instale Termux pelo F-Droid, depois:
curl -s https://raw.githubusercontent.com/rianprei/termux-builder/main/install.sh | bash
O installer:
- Instala todas as dependencias automaticamente (openjdk-17, aapt2, dx (d8 fallback via doctor/setup), apksigner, kotlin, python)
- Baixa
android.jar(API 34) do GitHub - Configura
ANDROID_SDKnos shell RCs - Verifica que tudo funciona no final
# Criar projeto novo
termux-builder init myapp --package com.example.myapp
# Entrar no projeto
cd myapp
# Buildar APK
termux-builder build .
# Buildar e instalar via adb
termux-builder build . --install
# Build limpo
termux-builder build . --clean| Comando | Descricao |
|---|---|
termux-builder init <nome> |
Cria projeto novo com template |
termux-builder build <dir> |
Compila e gera APK |
termux-builder build <dir> --install |
Compila e instala via adb |
termux-builder build <dir> --clean |
Build limpo (remove artifacts) |
termux-builder clean <dir> |
Remove .build/ |
termux-builder deps <dir> |
Baixa dependencias Maven |
termux-builder test <dir> |
Roda testes JUnit |
termux-builder lint <dir> |
Verifica problemas no codigo |
termux-builder decompile <apk> |
Descompila APK com apktool |
termux-builder recompile <dir> |
Recompila APK descompilado |
termux-builder doctor |
Diagnostico do ambiente |
termux-builder setup --api 34 |
Instala android.jar |
name: myapp
build-path: .build
libs-path: .libs
cache-path: .cache
dependencies:
- "androidx.core:core:1.12.0"
- "androidx.appcompat:appcompat:1.6.1"
- "com.google.android.material:material:1.11.0"
android:
target-sdk: 34
min-sdk: 21
version-code: 1
version-name: "1.0.0"
manifest-path: AndroidManifest.xml
sources-path: src/java
res-path: src/res
assets-path: src/assets
jni-path: src/jniLibs
build-type: release # debug ou release
java-version: 17
view-binding: true # gera classes de binding
compose: false # Jetpack Compose (experimental)
r8: true # minificacao R8 (release only)
r8-rules: proguard-rules.pro
keystore-path: my.keystore
keystore-alias: mykey
keystore-store-pass: password
keystore-key-pass: passwordmyapp/
├── project.yml # Configuracao do build
├── AndroidManifest.xml
├── debug.keystore # Gerado automaticamente
├── src/
│ ├── java/ # Codigo Java e Kotlin
│ │ └── com/example/app/
│ │ └── MainActivity.java
│ ├── res/
│ │ ├── layout/
│ │ ├── values/
│ │ └── drawable/
│ └── assets/
android:
view-binding: trueGera classes de binding para todos os layouts em src/res/layout/.
android:
r8: true
r8-rules: proguard-rules.proMinifica e otimiza codigo no build release.
android:
compose: trueRequer compose-compiler.jar em .libs/ ou .cache/. O builder passa -Xplugin automaticamente pro kotlinc.
O termux-builder init gera um debug keystore automaticamente. Para release, crie seu proprio:
keytool -genkeypair -keystore release.keystore -alias mykey \
-keyalg RSA -keysize 2048 -validity 10000Coloque .so em src/jniLibs/<abi>/:
src/jniLibs/
├── arm64-v8a/
│ └── libfoo.so
├── armeabi-v7a/
│ └── libfoo.so
└── x86_64/
└── libfoo.so
| Feature | Android Studio | ApkBuilder | termux-builder |
|---|---|---|---|
| Build APK | ✅ | ✅ | ✅ |
| Java | ✅ | ✅ | ✅ |
| Kotlin | ✅ | ✅ | ✅ |
| ViewBinding | ✅ | ✅ | ✅ |
| BuildConfig | ✅ | ❌ | ✅ |
| R8/ProGuard | ✅ | ❌ | ✅ |
| Dependencias Maven | ✅ | ❌ | ✅ |
| Suporte .aar | ✅ | ❌ | ✅ |
| Manifest merge | ✅ | ❌ | ✅ |
| Debug keystore auto | ✅ | ❌ | ✅ |
| Auto-installer | ❌ | ❌ | ✅ |
| Doctor/diagnostico | ❌ | ❌ | ✅ |
| Scaffolding (init) | ✅ | ❌ | ✅ |
| Install via adb | ✅ | ❌ | ✅ |
| Testes JUnit | ✅ | ❌ | ✅ |
| Lint | ✅ | ❌ | ✅ |
| Decompile/Recompile | ❌ | ❌ | ✅ |
| Compose | ✅ | ❌ | ✅ (experimental) |
| JNI/native libs | ✅ | ✅ | ✅ |
| Roda no celular | ❌ | ✅ | ✅ |
| Sem root | ❌ | ✅ | ✅ |
| Self-contained | ❌ | ❌ | ✅ |
termux-builder doctorVerifica: javac, ecj+dalvikvm, kotlinc, aapt2, d8/dx, apksigner, android.jar, Python deps, adb, apktool. Output verde/vermelho por item.
pip uninstall termux-builder
rm -rf ~/.termux-builder- Desenvolvimento Android sem PC — celular + teclado bluetooth
- Hotfix em campo — corrigir bug urgente sem laptop
- Educacao — alunos aprendem Android dev no celular
- CI/CD ARM — servidor ARM buildando APKs
- Prototipagem rapida — testar ideias sem IDE de 8GB RAM
- Automacao — scripts que geram variantes de APK
- Termux (F-Droid)
- ~200MB espaco (tools + SDK)
- Android 7.0+
- Python 3.9+
Projeto independente inspirado por:
- silvadev13/ApkBuilder — conceito de build CLI lightweight
- Reginer/aosp-android-jar — android.jar pre-compilado