forked from termux/termux-packages
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsetup-android-sdk.sh
More file actions
executable file
·77 lines (64 loc) · 2.58 KB
/
Copy pathsetup-android-sdk.sh
File metadata and controls
executable file
·77 lines (64 loc) · 2.58 KB
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
#!/bin/bash
set -e -u
: "${TERMUX_PKG_TMPDIR:="/tmp"}"
# Install desired parts of the Android SDK:
. $(cd "$(dirname "$0")"; pwd)/properties.sh
. $(cd "$(dirname "$0")"; pwd)/build/termux_download.sh
ANDROID_SDK_FILE=commandlinetools-linux-${TERMUX_SDK_REVISION}_latest.zip
ANDROID_SDK_SHA256=0bebf59339eaa534f4217f8aa0972d14dc49e7207be225511073c661ae01da0a
if [ "$TERMUX_NDK_VERSION" = "29" ]; then
ANDROID_NDK_FILE=android-ndk-r${TERMUX_NDK_VERSION}-linux.zip
ANDROID_NDK_SHA256=4abbbcdc842f3d4879206e9695d52709603e52dd68d3c1fff04b3b5e7a308ecf
elif [ "$TERMUX_NDK_VERSION" = 23c ]; then
ANDROID_NDK_FILE=android-ndk-r${TERMUX_NDK_VERSION}-linux.zip
ANDROID_NDK_SHA256=6ce94604b77d28113ecd588d425363624a5228d9662450c48d2e4053f8039242
else
echo "ERROR: unknown NDK version $TERMUX_NDK_VERSION" >&2
exit 1
fi
if [ ! -d "$ANDROID_HOME" ]; then
mkdir -p "$ANDROID_HOME"
cd "$ANDROID_HOME/.."
rm -Rf "$(basename "$ANDROID_HOME")"
# https://developer.android.com/studio/index.html#command-tools
echo "Downloading Android SDK..."
termux_download https://dl.google.com/android/repository/${ANDROID_SDK_FILE} \
tools-$TERMUX_SDK_REVISION.zip \
$ANDROID_SDK_SHA256
rm -Rf android-sdk-$TERMUX_SDK_REVISION
unzip -q tools-$TERMUX_SDK_REVISION.zip -d android-sdk-$TERMUX_SDK_REVISION
fi
if [ ! -d "$NDK" ]; then
mkdir -p "$NDK"
cd "$NDK/.."
rm -Rf "$(basename "$NDK")"
# https://developer.android.com/ndk/downloads
echo "Downloading Android NDK..."
termux_download https://dl.google.com/android/repository/${ANDROID_NDK_FILE} \
ndk-r${TERMUX_NDK_VERSION}.zip \
$ANDROID_NDK_SHA256
rm -Rf android-ndk-r$TERMUX_NDK_VERSION
unzip -q ndk-r${TERMUX_NDK_VERSION}.zip
# Remove unused parts
rm -Rf android-ndk-r$TERMUX_NDK_VERSION/sources/cxx-stl/system
fi
if [ -x "$ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager" ]; then
SDK_MANAGER="$ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager"
elif [ -x "$ANDROID_HOME/cmdline-tools/bin/sdkmanager" ]; then
SDK_MANAGER="$ANDROID_HOME/cmdline-tools/bin/sdkmanager"
else
echo "ERROR: no usable sdkmanager found in $ANDROID_HOME" >&2
echo "Checking other possible paths: (empty if not found)" >&2
find "$ANDROID_HOME" -type f -name sdkmanager >&2
exit 1
fi
echo "INFO: Using sdkmanager ... $SDK_MANAGER"
echo "INFO: Using NDK ... $NDK"
yes | $SDK_MANAGER --sdk_root="$ANDROID_HOME" --licenses
# The android platforms are used in the ecj and apksigner packages:
yes | $SDK_MANAGER --sdk_root="$ANDROID_HOME" \
"platform-tools" \
"build-tools;${TERMUX_ANDROID_BUILD_TOOLS_VERSION}" \
"platforms;android-35" \
"platforms;android-28" \
"platforms;android-24"