Skip to content

Instantly share code, notes, and snippets.

@simonkuang
Created September 30, 2018 15:59
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save simonkuang/a07cefd12c43a921db03eb9ce3bc2f66 to your computer and use it in GitHub Desktop.
Save simonkuang/a07cefd12c43a921db03eb9ce3bc2f66 to your computer and use it in GitHub Desktop.
update-android-sdk-which-need
#!/bin/bash
yum install -y unzip curl java-1.8.0-openjdk
if [[ -d /dev/shm ]]; then
TMP_DIR=/dev/shm
else
TMP_DIR=/tmp
fi
ANDROID_SDK_ZIP=$(curl -L "https://developer.android.com/studio/index.html" | grep "sdk-tools-linux-" | grep "\.zip" | sed "s@^.*\(https[^\"]*zip\).*\$@\1@")
TMP_STR=$(echo ${ANDROID_SDK_ZIP:0:5} | tr [A-Z] [a-z])
if [[ "$TMP_STR" != "https" ]]; then
echo "BAD zip file: $ANDROID_SDK_ZIP"
exit -1
fi
TMP_STR=$(echo ${ANDROID_SDK_ZIP##*.} | tr [A-Z] [a-z])
if [[ "$TMP_STR" != "zip" ]]; then
echo "BAD zip file: $ANDROID_SDK_ZIP"
exit -2
fi
# download sdk tools
mkdir -p /data/soft
ANDROID_SDK_ZIP_BASENAME=$(basename $ANDROID_SDK_ZIP)
curl -Lo "/data/soft/$ANDROID_SDK_ZIP_BASENAME" "$ANDROID_SDK_ZIP"
mkdir -p /data/android/sdk
unzip -q "/data/soft/${ANDROID_SDK_ZIP}" -d /data/android/sdk
# touch a empty config file
mkdir -p ~/.android
touch ~/.android/repositories.cfg
# update info
/data/android/sdk/tools/bin/sdkmanager --list > $TMP_DIR/sdk_update.txt
# modules, with version specified
MODULE_BUILD_TOOLS=$(cat ${TMP_DIR}/sdk_update.txt | grep "build-tools" | sort -nk3 | awk -F ' ' '{print $1}' | tail -n1)
MODULE_CMAKE=$(cat ${TMP_DIR}/sdk_update.txt | grep "cmake" | sort -nk3 | awk -F ' ' '{print $1}' | tail -n1)
MODULE_LLDB=$(cat ${TMP_DIR}/sdk_update.txt | grep "lldb" | sort -nk3 | awk -F ' ' '{print $1}' | tail -n1)
MODULE_EMULATOR='emulator'
MODULE_PLATFORM_TOOLS='platform-tools'
MODULE_NDK_BUNDLE='ndk-bundle'
MODULE_PLATFORM=$(cat ${TMP_DIR}/sdk_update.txt | grep "platforms;" | awk -F ' ' '{print $1}' | sort -nk2 -t '-' | tail -n1)
MODULE_SYSTEM_IMAGES=$(cat ${TMP_DIR}/sdk_update.txt | grep "system-images;" | grep "google_apis;" | awk -F ' ' '{print $1}' | sort -nk2 -t '-' | tail -n1)
echo "Installing ${MODULE_BUILD_TOOLS}... "
/data/android/sdk/tools/bin/sdkmanager --sdk_root=/data/android/sdk "${MODULE_BUILD_TOOLS}"
echo "Installing ${MODULE_CMAKE}... "
/data/android/sdk/tools/bin/sdkmanager --sdk_root=/data/android/sdk "${MODULE_CMAKE}"
echo "Installing ${MODULE_LLDB}... "
/data/android/sdk/tools/bin/sdkmanager --sdk_root=/data/android/sdk "${MODULE_LLDB}"
echo "Installing ${MODULE_EMULATOR}... "
/data/android/sdk/tools/bin/sdkmanager --sdk_root=/data/android/sdk "${MODULE_EMULATOR}"
echo "Installing ${MODULE_PLATFORM_TOOLS}... "
/data/android/sdk/tools/bin/sdkmanager --sdk_root=/data/android/sdk "${MODULE_PLATFORM_TOOLS}"
echo "Installing ${MODULE_NDK_BUNDLE}... "
/data/android/sdk/tools/bin/sdkmanager --sdk_root=/data/android/sdk "${MODULE_NDK_BUNDLE}"
echo "Installing ${MODULE_PLATFORM}... "
/data/android/sdk/tools/bin/sdkmanager --sdk_root=/data/android/sdk "${MODULE_PLATFORM}"
echo "Installing ${MODULE_SYSTEM_IMAGES}... "
/data/android/sdk/tools/bin/sdkmanager --sdk_root=/data/android/sdk "${MODULE_SYSTEM_IMAGES}"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment