Files
yoga/scripts/android-setup.sh
Pascal Hartig 7ea50439ce Fix travis NDK setup
Summary:
Phew, this took a while. Buck had some changes in how it picks up SDK/NDK
configs.

In order to satisfy the new demands, I'm now installing the NDK manually and no
longer through the SDK manager. I'm also trying to cache as much as possible to
reduce the flakiness here.

Reviewed By: emilsjolander

Differential Revision: D5465206

fbshipit-source-id: 61a4b9006fe96fc9a99fb9d75b822589064a9d1a
2017-07-21 03:14:21 -07:00

49 lines
1.6 KiB
Bash

function download() {
if hash curl 2>/dev/null; then
curl -L -o $2 $1
elif hash wget 2>/dev/null; then
wget -O $2 $1
else
echo >&2 "No supported download tool installed. Please get either wget or curl."
exit
fi
}
function installsdk() {
PROXY_ARGS=""
if [[ ! -z "$https_proxy" ]]; then
PROXY_HOST="$(cut -d : "$https_proxy" -f 1,1)"
PROXY_PORT="$(cut -d : "$https_proxy" -f 2,2)"
PROXY_ARGS="--proxy=http --proxy_host=$PROXY_HOST --proxy_port=$PROXY_PORT"
fi
yes | $ANDROID_HOME/tools/bin/sdkmanager $PROXY_ARGS $@
}
function installAndroidSDK {
export ANDROID_HOME=$HOME/android-sdk
export ANDROID_NDK_REPOSITORY=$HOME/android-ndk
export PATH="$ANDROID_HOME/platform-tools:$ANDROID_HOME/tools:$ANDROID_HOME/tools/bin:$PATH"
if [[ ! -d "$ANDROID_HOME" ]]; then
TMP=/tmp/sdk$$.zip
download 'https://dl.google.com/android/repository/sdk-tools-darwin-3859397.zip' $TMP
unzip -qod $ANDROID_HOME $TMP
rm $TMP
fi
if [[ ! -d "$ANDROID_NDK_REPOSITORY" ]]; then
TMP=/tmp/ndk$$.zip
mkdir -p $ANDROID_NDK_REPOSITORY
download 'https://dl.google.com/android/repository/android-ndk-r13b-darwin-x86_64.zip' $TMP
unzip -qod $ANDROID_NDK_REPOSITORY $TMP
rm $TMP
fi
mkdir -p $ANDROID_HOME/licenses/
echo > $ANDROID_HOME/licenses/android-sdk-license
echo -n 8933bad161af4178b1185d1a37fbf41ea5269c55 >> $ANDROID_HOME/licenses/android-sdk-license
installsdk 'build-tools;23.0.2' 'build-tools;25.0.2' 'build-tools;25.0.1' 'platform-tools' 'platforms;android-23' 'platforms;android-25' 'extras;android;m2repository'
}