-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfetch-android.sh
executable file
·81 lines (61 loc) · 2.33 KB
/
fetch-android.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#!/usr/bin/env bash
set -eu
# Folders
PROJECT_DIR=$(pwd)
WORKING_DIR="$PROJECT_DIR/sdk"
ANDROID_DIR="$WORKING_DIR/android"
JAVA_HOME="$WORKING_DIR/java"
export JAVA_HOME
declare -a ANDROID_PACKAGES=(
"build-tools;33.0.2"
"build-tools;34.0.0"
"build-tools;35.0.0"
"cmake;3.31.1"
"emulator"
"extras;android;m2repository"
"extras;google;m2repository"
"ndk-bundle"
"platform-tools"
"platforms;android-33"
"platforms;android-34"
"platforms;android-35"
"sources;android-33"
"sources;android-34"
"sources;android-35"
"system-images;android-35;google_apis_playstore;x86_64"
"system-images;android-35;google_apis;x86_64"
"tools"
)
# Make sure WORKING_DIR directory exists
mkdir -p "$WORKING_DIR" && cd "$WORKING_DIR"
# These Command Line Tools are used to boot strap only!!!
mkdir -p "${ANDROID_DIR}" && cd "${ANDROID_DIR}"
wget --tries=0 --continue "https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip" -O cmdline-tools-temp.zip
unzip -vu cmdline-tools-temp.zip -d "${ANDROID_DIR}"/cmdline-tools-temp
echo "Bootstrap cmdline-tools Download and Extraction Complete"
BOOTSTRAP_SDK_MANAGER="${ANDROID_DIR}"/cmdline-tools-temp/cmdline-tools/bin/sdkmanager
echo
echo "Bootstrap cmdline-tools version:"
"$BOOTSTRAP_SDK_MANAGER" --sdk_root="${ANDROID_DIR}" --version
echo
echo "Install most current cmdline-tools"
yes | "$BOOTSTRAP_SDK_MANAGER" --sdk_root="${ANDROID_DIR}" --licenses && "$BOOTSTRAP_SDK_MANAGER" --sdk_root="${ANDROID_DIR}" --install "cmdline-tools;latest"
echo
echo
echo "Latest cmdline-tools version:"
SDK_MANAGER="${ANDROID_DIR}/cmdline-tools/latest/bin/sdkmanager"
echo "$SDK_MANAGER"
"$SDK_MANAGER" --sdk_root="${ANDROID_DIR}" --version
echo
for i in "${ANDROID_PACKAGES[@]}"
do
echo "$i"
# Channels: 0 (stable), 1 (beta), 2 (dev), or 3 (canary)
yes | "$SDK_MANAGER" --sdk_root="${ANDROID_DIR}" --channel=3 --licenses && "$SDK_MANAGER" --sdk_root="${ANDROID_DIR}" --channel=3 --install "$i" | grep --invert-match "^Warning:*"
done
yes | "$SDK_MANAGER" --sdk_root="${ANDROID_DIR}" --channel=3 --licenses && "$SDK_MANAGER" --sdk_root="${ANDROID_DIR}" --channel=3 --update
"$SDK_MANAGER" --sdk_root="${ANDROID_DIR}" --channel=3 --list_installed
echo
echo "Android Download and Extraction Complete"
echo "Android location: ${ANDROID_DIR}"
echo