Files
Termux-Android-Builder/lib/commands/setup.sh
T
2026-07-02 04:39:33 +01:00

75 lines
2.0 KiB
Bash
Executable File

#!/data/data/com.termux/files/usr/bin/bash
set -e
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
source "$ROOT_DIR/lib/common.sh"
ensure_termux
echo "==> Installing packages"
pkg update -y
pkg install -y git curl wget unzip zip nano \
openjdk-21 gradle aapt2 apksigner d8 dx android-tools
echo "==> Configuring Java"
JAVA_BIN="$(command -v java)"
JAVA_HOME_DETECTED="$(dirname "$(dirname "$(readlink -f "$JAVA_BIN")")")"
export JAVA_HOME="$JAVA_HOME_DETECTED"
export PATH="$JAVA_HOME/bin:$PATH"
touch "$HOME/.bashrc"
grep -q 'ANDROID_BUILDER_JAVA_HOME' "$HOME/.bashrc" || cat >> "$HOME/.bashrc" <<EOF2
# Java for AndroidBuilder
export JAVA_HOME=$JAVA_HOME_DETECTED
export PATH=\$JAVA_HOME/bin:\$PATH
export ANDROID_BUILDER_JAVA_HOME=\$JAVA_HOME
EOF2
echo "==> Installing Android SDK cmdline-tools"
mkdir -p "$SDK/cmdline-tools"
cd "$SDK/cmdline-tools"
if [ ! -d latest ]; then
wget https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip -O cmdline-tools.zip
unzip -q cmdline-tools.zip
mv cmdline-tools latest
rm cmdline-tools.zip
fi
export ANDROID_HOME="$SDK"
export ANDROID_SDK_ROOT="$SDK"
export PATH="$SDK/cmdline-tools/latest/bin:$PATH"
grep -q 'ANDROID_HOME' "$HOME/.bashrc" || cat >> "$HOME/.bashrc" <<'EOF2'
# AndroidBuilder SDK environment
export ANDROID_HOME=$HOME/android-sdk
export ANDROID_SDK_ROOT=$ANDROID_HOME
export PATH=$ANDROID_HOME/cmdline-tools/latest/bin:$PATH
EOF2
echo "==> Accepting Android SDK licenses"
mkdir -p "$SDK/licenses"
cat > "$SDK/licenses/android-sdk-license" <<'EOF2'
24333f8a63b6825ea9c5514f83c2829b004d1fee
d56f5187479451eabf01fb78af6dfcb131a6481e
8933bad161af4178b1185d1a37fbf41ea5269c55
EOF2
echo "==> Installing SDK platform: $PLATFORM"
sdkmanager "platforms;$PLATFORM"
echo "==> Writing Gradle config"
mkdir -p "$HOME/.gradle"
cat > "$HOME/.gradle/gradle.properties" <<EOF2
org.gradle.jvmargs=-Xmx4096m -Dfile.encoding=UTF-8
org.gradle.daemon=true
org.gradle.parallel=true
org.gradle.caching=true
android.aapt2FromMavenOverride=$PREFIX/bin/aapt2
EOF2
echo
echo "Setup complete."