2020-02-22 18:14:54 -05:00
#!/bin/bash
2020-04-22 16:21:18 -04:00
if [ [ " $OSTYPE " = = "darwin" * ] ] ; then
echo "Please run SetupAndroid.command on MacOSX; attempting to run it for you."
DIR = " $( cd " $( dirname " ${ BASH_SOURCE [0] } " ) " >/dev/null 2>& 1 && pwd ) "
2021-02-03 14:18:15 -04:00
exec " $DIR " /SetupAndroid.command $@
2020-04-22 16:21:18 -04:00
exit 1
fi
2021-02-03 14:18:15 -04:00
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
2021-05-13 16:13:05 -04:00
# hardcoded versions for compatibility with non-Turnkey manual running
2021-02-03 14:18:15 -04:00
if [ [ -z " ${ PLATFORMS_VERSION } " ] ] ; then
2024-09-19 18:30:33 -04:00
PLATFORMS_VERSION = "android-34"
2021-02-03 14:18:15 -04:00
fi
if [ [ -z " ${ BUILDTOOLS_VERSION } " ] ] ; then
2024-09-19 18:30:33 -04:00
BUILDTOOLS_VERSION = "34.0.0"
2021-02-03 14:18:15 -04:00
fi
if [ [ -z " ${ CMAKE_VERSION } " ] ] ; then
2023-08-07 14:56:20 -04:00
CMAKE_VERSION = "3.22.1"
2021-02-03 14:18:15 -04:00
fi
if [ [ -z " ${ NDK_VERSION } " ] ] ; then
2022-10-11 23:32:22 -04:00
NDK_VERSION = "25.1.8937393"
2021-02-03 14:18:15 -04:00
fi
2020-02-22 18:14:54 -05:00
STUDIO_PATH = " $HOME /android-studio "
if [ ! -d " $STUDIO_PATH " ] ; then
2023-05-26 16:03:01 -04:00
echo "Android Studio not installed, please download Android Studio 2022.2.1 from https://developer.android.com/studio"
2020-02-22 18:14:54 -05:00
echo " Please download, extract and move to $HOME /android-studio "
2021-02-03 14:18:15 -04:00
${ PAUSE }
2020-02-22 18:14:54 -05:00
exit 1
fi
echo Android Studio Path: $STUDIO_PATH
if [ " $STUDIO_SDK_PATH " = = "" ] ; then
2021-05-13 16:13:05 -04:00
STUDIO_SDK_PATH = " $HOME /Android/Sdk "
2020-02-22 18:14:54 -05:00
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:14:54 -05:00
exit 1
fi
echo Android Studio SDK Path: $STUDIO_SDK_PATH
if ! grep -q " export ANDROID_HOME=\" $STUDIO_SDK_PATH \" " $HOME /.bashrc
then
2020-04-24 13:20:54 -04:00
echo >>$HOME /.bashrc
2020-02-22 18:14:54 -05:00
echo " export ANDROID_HOME=\" $STUDIO_SDK_PATH \" " >>$HOME /.bashrc
fi
2023-05-26 16:03:01 -04:00
# remove ANDROID_SDK_HOME if present (causes errors in Gradle Android plugin)
if grep -q "export ANDROID_SDK_HOME=" $HOME /.bashrc
2022-10-18 00:54:48 -04:00
then
2023-05-26 16:03:01 -04:00
grep -v "export ANDROID_SDK_HOME=" $HOME /.bashrc >$HOME /android_patch_profile.tmp
cp $HOME /android_patch_profile.tmp $HOME /.bashrc
rm $HOME /android_patch_profile.tmp
2022-10-18 00:54:48 -04:00
fi
2023-05-26 16:03:01 -04:00
export JAVA_HOME = " $STUDIO_PATH /jbr "
2020-02-22 18:14:54 -05:00
if ! grep -q " export JAVA_HOME=\" $JAVA_HOME \" " $HOME /.bashrc
then
2020-04-24 13:20:54 -04:00
echo >>$HOME /.bashrc
2020-02-22 18:14:54 -05:00
echo " export JAVA_HOME=\" $JAVA_HOME \" " >>$HOME /.bashrc
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:14:54 -05:00
retVal = $( type -P "adb" )
if [ " $retVal " = = "" ] ; then
2020-04-24 13:20:54 -04:00
echo >>$HOME /.bashrc
2020-02-22 18:15:01 -05:00
echo export PATH = " \"\$PATH: $PLATFORMTOOLS \" " >>$HOME /.bashrc
2020-02-22 18:14:54 -05:00
echo Added $PLATFORMTOOLS to path
fi
2023-05-26 16:03:01 -04:00
SDKMANAGERPATH = " $STUDIO_SDK_PATH /cmdline-tools/latest/bin "
2020-04-18 16:05:38 -04:00
if [ ! -d " $SDKMANAGERPATH " ] ; then
2022-10-18 00:54:48 -04:00
SDKMANAGERPATH = " $STUDIO_SDK_PATH /tools/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:14:54 -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:14:54 -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:14:54 -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:14:54 -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:14:54 -05:00
exit $retVal
fi
echo Success!
if ! grep -q " export NDKROOT=\" $NDKINSTALLPATH \" " $HOME /.bashrc
then
2020-04-24 13:20:54 -04:00
echo >>$HOME /.bashrc
2020-02-22 18:14:54 -05:00
echo " export NDKROOT=\" $NDKINSTALLPATH \" " >>$HOME /.bashrc
2020-04-20 19:56:37 -04:00
echo " export NDK_ROOT=\" $NDKINSTALLPATH \" " >>$HOME /.bashrc
2020-02-22 18:14:54 -05:00
fi
exit 0