You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

64 lines
3.5 KiB

#!/bin/bash
cd "$(dirname "$0")"
clone() {
mkdir -p $1
pushd $1
git init
git config advice.detachedHead false
git fetch --depth=1 $2 $3
git checkout FETCH_HEAD
popd
}
# Commit hashes and sdk versions from https://android.googlesource.com/platform/manifest/+/refs/heads/androidx-main/default.xml
downloadLinuxSDK() {
clone ../prebuilts/fullsdk-linux/platforms/android-32 https://android.googlesource.com/platform/prebuilts/fullsdk/platforms/android-32 master
clone ../prebuilts/fullsdk-linux/sources/android-32 https://android.googlesource.com/platform/prebuilts/fullsdk/sources/android-32 master
clone ../prebuilts/fullsdk-linux/ndk https://android.googlesource.com/toolchain/prebuilts/ndk/r23 master
ln -s "$PWD/../prebuilts/fullsdk-linux/ndk" ../prebuilts/fullsdk-linux/ndk-bundle # prepare to update androidx submodule
clone ../prebuilts/fullsdk-linux/build-tools/30.0.3 https://android.googlesource.com/platform/prebuilts/fullsdk-linux/build-tools/30.0.3 master
clone ../prebuilts/fullsdk-linux/platform-tools https://android.googlesource.com/platform/prebuilts/fullsdk-linux/platform-tools master
clone ../prebuilts/fullsdk-linux/tools https://android.googlesource.com/platform/prebuilts/fullsdk-linux/tools master
clone ../prebuilts/fullsdk-linux/cmake https://android.googlesource.com/platform/prebuilts/cmake/linux-x86 master
clone ../prebuilts/fullsdk-linux/ninja https://android.googlesource.com/platform/prebuilts/ninja/linux-x86 master
}
downloadMacOsSDK() {
clone ../prebuilts/fullsdk-darwin/platforms/android-32 https://android.googlesource.com/platform/prebuilts/fullsdk/platforms/android-32 master
clone ../prebuilts/fullsdk-darwin/sources/android-32 https://android.googlesource.com/platform/prebuilts/fullsdk/sources/android-32 master
clone ../prebuilts/fullsdk-darwin/ndk https://android.googlesource.com/toolchain/prebuilts/ndk-darwin/r23 master
ln -s "$PWD/../prebuilts/fullsdk-darwin/ndk" ../prebuilts/fullsdk-darwin/ndk-bundle # prepare to update androidx submodule
clone ../prebuilts/fullsdk-darwin/build-tools/30.0.3 https://android.googlesource.com/platform/prebuilts/fullsdk-darwin/build-tools/30.0.3 master
clone ../prebuilts/fullsdk-darwin/platform-tools https://android.googlesource.com/platform/prebuilts/fullsdk-darwin/platform-tools master
clone ../prebuilts/fullsdk-darwin/tools https://android.googlesource.com/platform/prebuilts/fullsdk-darwin/tools master
clone ../prebuilts/fullsdk-darwin/cmake https://android.googlesource.com/platform/prebuilts/cmake/darwin-x86 master
clone ../prebuilts/fullsdk-darwin/ninja https://android.googlesource.com/platform/prebuilts/ninja/darwin-x86 master
}
setupNativeBuildTools() {
mkdir -p ../prebuilts/fullsdk-$1/native-build-tools/bin/
pushd ../prebuilts/fullsdk-$1/native-build-tools/bin/
ln -s ../../ninja/ninja .
ln -s ../../cmake/bin/cmake .
popd
}
if [[ "$OSTYPE" == "linux-gnu"* ]]; then
downloadLinuxSDK
setupNativeBuildTools linux
elif [[ "$OSTYPE" == "darwin"* ]]; then
downloadMacOsSDK
setupNativeBuildTools darwin
elif [[ "$OSTYPE" == "cygwin" ]]; then
echo "Please download Android SDK manually (https://developer.android.com/studio)"
elif [[ "$OSTYPE" == "msys" ]]; then
echo "Please download Android SDK manually (https://developer.android.com/studio)"
elif [[ "$OSTYPE" == "win32" ]]; then
echo "Please download Android SDK manually (https://developer.android.com/studio)"
else
echo "Unknown OS"
fi