Termux – это мощный эмулятор терминала для Android, который предоставляет полноценный Linux‑окружение. С помощью него можно установить компиляторы, сборщики и даже полностью настроить процесс разработки Android‑приложений без компьютера. В этой статье мы пошагово разберём, как подготовить Termux для работы с Java/Kotlin, собрать проект с помощью Gradle и получить готовый .apk файл.
Установка Termux и базовых пакетов
Сначала установите приложение Termux из Google Play или F-Droid. После первого запуска обновите репозитории и установите основные инструменты:
apt update && apt upgrade -y
apt install git wget curl unzip tar -y
apt install openjdk-17 -y # Java 17, совместима с Android Gradle Plugin
apt install clang make -y # Необходимо для NDK (если планируете native‑код)
Для Kotlin потребуется kotlin и kotlinc:
apt install kotlin -y
Проверьте версии:
java -version
kotlin -version
Настройка Gradle
Gradle – основной инструмент сборки Android‑проектов. Установим его вручную, поскольку в Termux нет готового пакета:
wget https://services.gradle.org/distributions/gradle-8.5-bin.zip -O /data/data/com.termux/files/home/gradle-8.5-bin.zip
unzip gradle-8.5-bin.zip -d $HOME
rm gradle-8.5-bin.zip
export PATH=$HOME/gradle-8.5/bin:$PATH
Для постоянного доступа добавьте строку export PATH=... в файл ~/.profile.
Создание структуры проекта
Самый простой способ – использовать шаблон Android‑приложения, генерируемый android-cli или git. Здесь мы клонируем минимальный пример:
git clone https://github.com/android/sunflower.git
cd sunflower
Если хотите начать с нуля, создайте каталоги вручную:
mkdir -p MyApp/app/src/main/java/com/example/myapp
mkdir -p MyApp/app/src/main/kotlin/com/example/myapp
mkdir -p MyApp/app/src/main/res/layout
Создайте файл build.gradle.kts (Kotlin DSL) в корне проекта:
cat > build.gradle.kts <<'EOF'
plugins {
id("com.android.application") version "8.2.0"
kotlin("android") version "1.9.10"
}
android {
compileSdk = 34
defaultConfig {
applicationId = "com.example.myapp"
minSdk = 21
targetSdk = 34
versionCode = 1
versionName = "1.0"
}
buildTypes {
release {
minifyEnabled = false
proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
}
}
}
dependencies {
implementation(kotlin("stdlib"))
implementation("androidx.core:core-ktx:1.12.0")
implementation("androidx.appcompat:appcompat:1.6.1")
implementation("com.google.android.material:material:1.9.0")
}
EOF
Файл settings.gradle.kts указывает на модуль app:
cat > settings.gradle.kts <<'EOF'
rootProject.name = "MyApp"
include(":app")
EOF
Внутри каталога app создайте аналогичный build.gradle.kts с конфигурацией модуля.
Сборка проекта
Запустите сборку через Gradle:
gradle assembleDebug
После завершения в каталоге app/build/outputs/apk/debug появится файл app-debug.apk. Его можно установить на устройство командой:
adb install -r app/build/outputs/apk/debug/app-debug.apk
Если adb недоступен в Termux, установите пакет android-tools:
apt install android-tools -y
Отладка и логирование
Для просмотра логов используйте logcat:
adb logcat | grep com.example.myapp
Для интерактивной отладки можно подключить jdb (Java Debugger), который входит в состав JDK:
jdb -attach 5005 # При условии, что приложение запущено в режиме debug
Создание релизного APK
Для подписи используйте keytool и jarsigner из JDK:
keytool -genkeypair -alias mykey -keyalg RSA -keysize 2048 -validity 10000 -keystore my-release-key.jks
Соберите релизный пакет:
gradle assembleRelease
Подпишите полученный app-release-unsigned.apk:
jarsigner -verbose -keystore my-release-key.jks app/build/outputs/apk/release/app-release-unsigned.apk mykey
Оптимизируйте размер с помощью zipalign (установлен в android-sdk-build-tools):
zipalign -v 4 app/build/outputs/apk/release/app-release-unsigned.apk MyApp.apk
Автоматизация с помощью Termux:script
Создайте скрипт build.sh в домашней директории:
cat > ~/build.sh <<'EOF'
#!/data/data/com.termux/files/usr/bin/bash
set -e
cd ~/MyApp
./gradlew clean assembleDebug
adb install -r app/build/outputs/apk/debug/app-debug.apk
EOF
chmod +x ~/build.sh
Запускайте его одной командой ~/build.sh или привяжите к виджету Termux:Widget.
Заключение
Termux предоставляет полноценную Linux‑среду прямо на Android‑устройстве, позволяя выполнять весь цикл разработки: от написания кода на Java/Kotlin до сборки, тестирования и подписи APK. Такой подход особенно полезен для быстрой проверки идей, обучения или работы в условиях ограниченного доступа к настольному ПК.
Если вам нужна профессиональная поддержка в области мобильной разработки, CI/CD, оптимизации кода или настройке инфраструктуры, команда RybinskLab готова предложить консультации, аудит и разработку под ключ. Мы поможем ускорить ваш процесс разработки и вывести продукт на новый уровень качества.