2021-02-03 14:18:15 -04:00
#!/usr/bin/env bash
PLATFORMS_VERSION=${1:-}
BUILDTOOLS_VERSION=${2:-}
CMAKE_VERSION=${3:-}
NDK_VERSION=${4:-}
ARG5=${5:-}
pausefunc()
{
read -rsp $'Press any key to continue...\n' -n1 key
}
if [[ ${ARG5} == "-noninteractive" ]]; then
PAUSE=
else
PAUSE="pausefunc"
fi
rem hardcoded versions for compatibility with non-Turnkey manual running
if [[ -z "${PLATFORMS_VERSION}" ]]; then
2022-02-08 09:46:18 -05:00
PLATFORMS_VERSION="android-30"
2021-02-03 14:18:15 -04:00
fi
if [[ -z "${BUILDTOOLS_VERSION}" ]]; then
2022-02-08 09:46:18 -05:00
BUILDTOOLS_VERSION="30.0.3"
2021-02-03 14:18:15 -04:00
fi
if [[ -z "${CMAKE_VERSION}" ]]; then
CMAKE_VERSION="3.10.2.4988404"
fi
if [[ -z "${NDK_VERSION}" ]]; then
2022-02-08 09:46:18 -05:00
NDK_VERSION="21.4.7075529"
2021-02-03 14:18:15 -04:00
fi
2020-02-22 18:13:58 -05:00
STUDIO_PATH="~/Applications/Android Studio.app"
if [ ! -x "$STUDIO_PATH" ]; then
STUDIO_PATH="/Applications/Android Studio.app"
if [ ! -x "$STUDIO_PATH" ]; then
echo Android Studio not installed, please download Android Studio 3.5.3 from https://developer.android.com/studio
2021-02-03 14:18:15 -04:00
${PAUSE}
2020-02-22 18:13:58 -05:00
exit 1
fi
fi
echo Android Studio Path: $STUDIO_PATH
if [ "$STUDIO_SDK_PATH" == "" ]; then
2020-04-22 16:21:18 -04:00
STUDIO_SDK_PATH=~/Library/Android/sdk
2020-02-22 18:13:58 -05:00
fi
if [ "$1" != "" ]; then
STUDIO_SDK_PATH=$1
fi
if [ ! -d "$STUDIO_SDK_PATH" ]; then
echo Android SDK not found at: $STUDIO_SDK_PATH
echo Unable to locate local Android SDK location. Did you run Android Studio after installing?
echo If Android Studio is installed, please run again with SDK path as parameter, otherwise download Android Studio 3.5.3 from https://developer.android.com/studio
2021-02-03 14:18:15 -04:00
${PAUSE}
2020-02-22 18:13:58 -05:00
exit 1
fi
echo Android Studio SDK Path: $STUDIO_SDK_PATH
if ! grep -q "export ANDROID_HOME=\"$STUDIO_SDK_PATH\"" ~/.bash_profile
then
2020-04-24 13:20:54 -04:00
echo >> ~/.bash_profile
2020-02-22 18:13:58 -05:00
echo "export ANDROID_HOME=\"$STUDIO_SDK_PATH\"" >>~/.bash_profile
fi
export JAVA_HOME="$STUDIO_PATH/Contents/jre/jdk/Contents/Home"
if ! grep -q "export JAVA_HOME=\"$JAVA_HOME\"" ~/.bash_profile
then
2020-04-24 13:20:54 -04:00
echo >> ~/.bash_profile
2020-02-22 18:13:58 -05:00
echo "export JAVA_HOME=\"$JAVA_HOME\"" >>~/.bash_profile
fi
2021-02-03 14:18:15 -04:00
NDKINSTALLPATH="$STUDIO_SDK_PATH/ndk/${NDK_VERSION}"
2021-03-01 11:16:43 -04:00
PLATFORMTOOLS="$STUDIO_SDK_PATH/platform-tools:$STUDIO_SDK_PATH/build-tools/${BUILDTOOLS_VERSION}:$STUDIO_SDK_PATH/tools/bin"
2020-02-22 18:13:58 -05:00
retVal=$(type -P "adb")
2020-09-24 00:43:27 -04:00
if [ "$retVal" == "" ]; then
2020-04-24 13:20:54 -04:00
echo >> ~/.bash_profile
2020-02-22 18:15:01 -05:00
echo export PATH="\"\$PATH:$PLATFORMTOOLS\"" >>~/.bash_profile
2020-02-22 18:13:58 -05:00
echo Added $PLATFORMTOOLS to path
fi
2020-04-18 16:05:38 -04:00
SDKMANAGERPATH="$STUDIO_SDK_PATH/tools/bin"
if [ ! -d "$SDKMANAGERPATH" ]; then
2020-04-22 13:40:04 -04:00
SDKMANAGERPATH="$STUDIO_SDK_PATH/cmdline-tools/latest/bin"
2020-04-18 16:05:38 -04:00
if [ ! -d "$SDKMANAGERPATH" ]; then
2020-04-22 13:40:04 -04:00
echo Unable to locate sdkmanager. Did you run Android Studio and install cmdline-tools after installing?
2021-02-03 14:18:15 -04:00
${PAUSE}
2020-04-18 16:05:38 -04:00
exit 1
fi
fi
2021-02-03 14:18:15 -04:00
"$SDKMANAGERPATH/sdkmanager" "platform-tools" "platforms;${PLATFORMS_VERSION}" "build-tools;${BUILDTOOLS_VERSION}" "cmake;${CMAKE_VERSION}" "ndk;${NDK_VERSION}"
2020-02-22 18:13:58 -05:00
retVal=$?
if [ $retVal -ne 0 ]; then
echo Update failed. Please check the Android Studio install.
2021-02-03 14:18:15 -04:00
${PAUSE}
2020-02-22 18:13:58 -05:00
exit $retVal
fi
if [ ! -d "$STUDIO_SDK_PATH/platform-tools" ]; then
retVal=1
fi
2021-02-03 14:18:15 -04:00
if [ ! -d "$STUDIO_SDK_PATH/platforms/${PLATFORMS_VERSION}" ]; then
2020-02-22 18:13:58 -05:00
retVal=1
fi
2021-02-03 14:18:15 -04:00
if [ ! -d "$STUDIO_SDK_PATH/build-tools/${BUILDTOOLS_VERSION}" ]; then
2020-02-22 18:13:58 -05:00
retVal=1
fi
if [ ! -d "$NDKINSTALLPATH" ]; then
retVal=1
fi
if [ $retVal -ne 0 ]; then
echo Update failed. Did you accept the license agreement?
2021-02-03 14:18:15 -04:00
${PAUSE}
2020-02-22 18:13:58 -05:00
exit $retVal
fi
echo Success!
if ! grep -q "export NDKROOT=\"$NDKINSTALLPATH\"" ~/.bash_profile
then
2020-04-24 13:20:54 -04:00
echo >> ~/.bash_profile
2020-02-22 18:13:58 -05:00
echo "export NDKROOT=\"$NDKINSTALLPATH\"" >>~/.bash_profile
2020-04-20 19:56:37 -04:00
echo "export NDK_ROOT=\"$NDKINSTALLPATH\"" >>~/.bash_profile
2020-02-22 18:13:58 -05:00
fi
exit 0