Skip to content

Instantly share code, notes, and snippets.

@SnowyPainter
Created August 4, 2025 04:13
Show Gist options
  • Save SnowyPainter/444584942a3ba1f110859d8daa08e9c6 to your computer and use it in GitHub Desktop.
Save SnowyPainter/444584942a3ba1f110859d8daa08e9c6 to your computer and use it in GitHub Desktop.
#!/usr/bin/env bash
# ───── Android 빌드 툴 셋업 + 셸 프로필 영구 설정 ─────
### 0) 변수
TOOLS_ZIP="commandlinetools-linux-11076708_latest.zip"
ANDROID_HOME="$HOME/Android"
SHELL_RC="$HOME/.$(basename $SHELL)rc" # bash → ~/.bashrc, zsh → ~/.zshrc
set -e
echo "▶ Using profile: $SHELL_RC"
### 1) JDK 21 설치
sudo apt update -qq
sudo apt install -y openjdk-21-jdk-headless unzip wget
### 2) JAVA_HOME 동적 계산
JAVA_HOME=$(dirname $(dirname $(readlink -f $(which javac))))
echo "▶ JAVA_HOME=$JAVA_HOME"
### 3) SDK Command-line Tools 설치
mkdir -p "$ANDROID_HOME/cmdline-tools"
cd "$ANDROID_HOME/cmdline-tools"
wget -q "https://dl.google.com/android/repository/$TOOLS_ZIP" -O tools.zip
unzip -q tools.zip -d latest && rm tools.zip
# ZIP 안에 cmdline-tools/* 중첩일 경우 평탄화
if [ -d latest/cmdline-tools ]; then
mv latest/cmdline-tools/* latest/ && rmdir latest/cmdline-tools
fi
### 4) PATH 임시 반영
export PATH="$ANDROID_HOME/platform-tools:$ANDROID_HOME/emulator:$ANDROID_HOME/cmdline-tools/latest/bin:$JAVA_HOME/bin:$PATH"
### 5) 필수 패키지·라이선스
sdkmanager --update
sdkmanager "platform-tools" "platforms;android-34" "build-tools;34.0.0" "emulator"
yes | sdkmanager --licenses
### 6) ─ 셸 프로필에 영구 추가 ─
grep -qxF '# >>> Android dev env >>>' "$SHELL_RC" || cat >> "$SHELL_RC" <<EOF
# >>> Android dev env >>>
export JAVA_HOME="$JAVA_HOME"
export ANDROID_HOME="\$HOME/Android"
export PATH="\$ANDROID_HOME/platform-tools:\$ANDROID_HOME/emulator:\$ANDROID_HOME/cmdline-tools/latest/bin:\$JAVA_HOME/bin:\$PATH"
# <<< Android dev env <<<
EOF
echo "✅ 설치 완료! 새 터미널을 열거나 'source $SHELL_RC' 입력해 적용하세요."
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment