|
| 1 | +#!/bin/bash |
| 2 | +# install_android-deps.sh: Install all dependencies for Android build on Linux |
| 3 | + |
| 4 | +set -e |
| 5 | + |
| 6 | +# Prevent running the whole script with sudo/root. |
| 7 | +# We still use sudo for apt installs below, but the SDK should be under the user home, not /root. |
| 8 | +if [ "$(id -u)" -eq 0 ]; then |
| 9 | + if [ -n "$SUDO_USER" ] && [ "$SUDO_USER" != "root" ]; then |
| 10 | + echo "This script should not be run with sudo. Re-running as $SUDO_USER..." |
| 11 | + exec sudo -u "$SUDO_USER" -H bash "$0" "$@" |
| 12 | + else |
| 13 | + echo "Please run this script without sudo (it will use sudo only where needed)." >&2 |
| 14 | + exit 1 |
| 15 | + fi |
| 16 | +fi |
| 17 | + |
| 18 | +sudo apt update |
| 19 | +sudo apt install -y cmake libx11-dev libxfixes-dev libegl-dev libgbm-dev libfontconfig-dev unzip curl zip ninja-build openjdk-8-jdk adb google-android-cmdline-tools-13.0-installer |
| 20 | + |
| 21 | +export ANDROID_HOME="$HOME/Android/Sdk" |
| 22 | +export ANDROID_SDK_ROOT="$ANDROID_HOME" |
| 23 | +export PATH="$ANDROID_HOME/platform-tools:$PATH" |
| 24 | + |
| 25 | +export ANDROID_NDK_HOME="$ANDROID_HOME/ndk/25.2.9519653" |
| 26 | +export JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64" |
| 27 | +export PATH="$JAVA_HOME/bin:$PATH" |
| 28 | + |
| 29 | + |
| 30 | +sdkmanager --sdk_root=$ANDROID_HOME \ |
| 31 | + "platform-tools" \ |
| 32 | + "platforms;android-32" \ |
| 33 | + "build-tools;32.0.0" \ |
| 34 | + "ndk;25.2.9519653" |
| 35 | + |
| 36 | + |
| 37 | +echo |
| 38 | +read -p "Add Android environment variables to your ~/.bashrc for future sessions? If not, you will need to set them manually. [y/N] " add_envs |
| 39 | +if [[ "$add_envs" =~ ^[Yy]$ ]]; then |
| 40 | + { |
| 41 | + echo '' |
| 42 | + echo '# Android SDK/NDK environment variables (added by install_android_deps.sh)' |
| 43 | + echo 'export ANDROID_HOME="$HOME/Android/Sdk"' |
| 44 | + echo 'export ANDROID_SDK_ROOT="$ANDROID_HOME"' |
| 45 | + echo 'export ANDROID_NDK_HOME="$ANDROID_HOME/ndk/25.2.9519653"' |
| 46 | + echo 'export JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64"' |
| 47 | + echo 'export PATH="$ANDROID_HOME/platform-tools:$JAVA_HOME/bin:$PATH"' |
| 48 | + } >> "$HOME/.bashrc" |
| 49 | + echo "Variables added to ~/.bashrc. Please restart your terminal or run: source ~/.bashrc" |
| 50 | +else |
| 51 | + echo "Skipped adding environment variables to ~/.bashrc." |
| 52 | +fi |
| 53 | + |
0 commit comments