44 lines
1.9 KiB
Bash
Executable File
44 lines
1.9 KiB
Bash
Executable File
#!/bin/bash
|
|
# Android-Werkzeuge ohne Root nach ~/Android: JDK 17, SDK, Emulator, Gradle.
|
|
# Danach: android/dev/env.sh einbinden (source), dann gradle und adb im PATH.
|
|
set -e
|
|
ROOT=${ANDROID_ROOT:-$HOME/Android}
|
|
mkdir -p "$ROOT" && cd "$ROOT"
|
|
|
|
if [ ! -x jdk17/bin/java ]; then
|
|
echo "== JDK 17"
|
|
curl -sL -o jdk.tar.gz "https://api.adoptium.net/v3/binary/latest/17/ga/linux/x64/jdk/hotspot/normal/eclipse?project=jdk"
|
|
tar xzf jdk.tar.gz && rm jdk.tar.gz
|
|
mv jdk-17* jdk17
|
|
fi
|
|
export JAVA_HOME="$ROOT/jdk17"
|
|
export ANDROID_HOME="$ROOT/Sdk"
|
|
export PATH="$JAVA_HOME/bin:$ANDROID_HOME/cmdline-tools/latest/bin:$ANDROID_HOME/platform-tools:$ANDROID_HOME/emulator:$ROOT/gradle/bin:$PATH"
|
|
|
|
if [ ! -x "$ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager" ]; then
|
|
echo "== Android Kommandozeilen-Tools"
|
|
curl -sL -o cmdline-tools.zip https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip
|
|
mkdir -p "$ANDROID_HOME/cmdline-tools"
|
|
unzip -q cmdline-tools.zip -d "$ANDROID_HOME/cmdline-tools" && rm cmdline-tools.zip
|
|
mv "$ANDROID_HOME/cmdline-tools/cmdline-tools" "$ANDROID_HOME/cmdline-tools/latest"
|
|
fi
|
|
|
|
echo "== SDK-Pakete"
|
|
yes | sdkmanager --licenses >/dev/null 2>&1 || true
|
|
sdkmanager --install "platform-tools" "platforms;android-34" "build-tools;34.0.0" "emulator" \
|
|
"system-images;android-34;google_apis;x86_64" > /dev/null
|
|
|
|
if ! avdmanager list avd 2>/dev/null | grep -q "Name: test"; then
|
|
echo "== Emulator-Gerät"
|
|
echo no | avdmanager create avd -n test -k "system-images;android-34;google_apis;x86_64" -d pixel_6 > /dev/null
|
|
fi
|
|
|
|
if [ ! -x gradle/bin/gradle ]; then
|
|
echo "== Gradle"
|
|
curl -sL -o gradle.zip https://services.gradle.org/distributions/gradle-8.9-bin.zip
|
|
unzip -q gradle.zip && rm gradle.zip
|
|
mv gradle-8.9 gradle
|
|
fi
|
|
|
|
echo "fertig: $(java -version 2>&1 | head -1); gradle $(gradle --version 2>/dev/null | grep -m1 Gradle | awk '{print $2}')"
|