Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

172 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

termux-builder

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.

Instalacao

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_SDK nos shell RCs
  • Verifica que tudo funciona no final

Quick Start

# 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

Comandos

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

Configuracao (project.yml)

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: password

Estrutura do Projeto

myapp/
├── 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/

Recursos

ViewBinding

android:
  view-binding: true

Gera classes de binding para todos os layouts em src/res/layout/.

R8 / ProGuard

android:
  r8: true
  r8-rules: proguard-rules.pro

Minifica e otimiza codigo no build release.

Jetpack Compose (Experimental)

android:
  compose: true

Requer compose-compiler.jar em .libs/ ou .cache/. O builder passa -Xplugin automaticamente pro kotlinc.

Debug Keystore

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 10000

JNI / Native Libs

Coloque .so em src/jniLibs/<abi>/:

src/jniLibs/
├── arm64-v8a/
│   └── libfoo.so
├── armeabi-v7a/
│   └── libfoo.so
└── x86_64/
    └── libfoo.so

Comparacao

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

Diagnostico

termux-builder doctor

Verifica: javac, ecj+dalvikvm, kotlinc, aapt2, d8/dx, apksigner, android.jar, Python deps, adb, apktool. Output verde/vermelho por item.

Desinstalar

pip uninstall termux-builder
rm -rf ~/.termux-builder

Casos de Uso

  1. Desenvolvimento Android sem PC — celular + teclado bluetooth
  2. Hotfix em campo — corrigir bug urgente sem laptop
  3. Educacao — alunos aprendem Android dev no celular
  4. CI/CD ARM — servidor ARM buildando APKs
  5. Prototipagem rapida — testar ideias sem IDE de 8GB RAM
  6. Automacao — scripts que geram variantes de APK

Requisitos

  • Termux (F-Droid)
  • ~200MB espaco (tools + SDK)
  • Android 7.0+
  • Python 3.9+

Creditos

Projeto independente inspirado por:

Licenca

MIT

About

Android Studio no Termux — build APK sem root, sem PC. Java, Kotlin, ViewBinding, deps Maven, R8, auto-installer.

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages