We detected you are likely not from a Russian-speaking region. Would you like to switch to the international version of the site?

  Назад к списку статей

Создание Android‑приложения в Termux с использованием Java/Kotlin

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 готова предложить консультации, аудит и разработку под ключ. Мы поможем ускорить ваш процесс разработки и вывести продукт на новый уровень качества.

* Текст статьи подготовлен и структурирован с использованием технологий искусственного интеллекта. Проверен экспертом RybinskLab.

Поделиться знанием:

Нужна профессиональная помощь?

Меня зовут Усачёв Денис Евгеньевич. Я оказываю IT-услуги в Рыбинске и Ярославской области: настройка серверов, безопасность, автоматизация бизнеса.

Связаться со мной
Поддержать проект