142 lines
3.8 KiB
Bash
142 lines
3.8 KiB
Bash
#!/bin/bash
|
|
|
|
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 )"
|
|
exec "$DIR"/SetupAndroid.command $@
|
|
exit 1
|
|
fi
|
|
|
|
|
|
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
|
|
|
|
# hardcoded versions for compatibility with non-Turnkey manual running
|
|
if [[ -z "${PLATFORMS_VERSION}" ]]; then
|
|
PLATFORMS_VERSION="android-34"
|
|
fi
|
|
if [[ -z "${BUILDTOOLS_VERSION}" ]]; then
|
|
BUILDTOOLS_VERSION="34.0.0"
|
|
fi
|
|
if [[ -z "${CMAKE_VERSION}" ]]; then
|
|
CMAKE_VERSION="3.22.1"
|
|
fi
|
|
if [[ -z "${NDK_VERSION}" ]]; then
|
|
NDK_VERSION="25.1.8937393"
|
|
fi
|
|
|
|
|
|
STUDIO_PATH="$HOME/android-studio"
|
|
if [ ! -d "$STUDIO_PATH" ]; then
|
|
echo "Android Studio not installed, please download Android Studio 2022.2.1 from https://developer.android.com/studio"
|
|
echo "Please download, extract and move to $HOME/android-studio"
|
|
${PAUSE}
|
|
exit 1
|
|
fi
|
|
echo Android Studio Path: $STUDIO_PATH
|
|
|
|
if [ "$STUDIO_SDK_PATH" == "" ]; then
|
|
STUDIO_SDK_PATH="$HOME/Android/Sdk"
|
|
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
|
|
${PAUSE}
|
|
exit 1
|
|
fi
|
|
echo Android Studio SDK Path: $STUDIO_SDK_PATH
|
|
|
|
if ! grep -q "export ANDROID_HOME=\"$STUDIO_SDK_PATH\"" $HOME/.bashrc
|
|
then
|
|
echo >>$HOME/.bashrc
|
|
echo "export ANDROID_HOME=\"$STUDIO_SDK_PATH\"" >>$HOME/.bashrc
|
|
fi
|
|
|
|
# remove ANDROID_SDK_HOME if present (causes errors in Gradle Android plugin)
|
|
if grep -q "export ANDROID_SDK_HOME=" $HOME/.bashrc
|
|
then
|
|
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
|
|
fi
|
|
|
|
export JAVA_HOME="$STUDIO_PATH/jbr"
|
|
if ! grep -q "export JAVA_HOME=\"$JAVA_HOME\"" $HOME/.bashrc
|
|
then
|
|
echo >>$HOME/.bashrc
|
|
echo "export JAVA_HOME=\"$JAVA_HOME\"" >>$HOME/.bashrc
|
|
fi
|
|
NDKINSTALLPATH="$STUDIO_SDK_PATH/ndk/${NDK_VERSION}"
|
|
PLATFORMTOOLS="$STUDIO_SDK_PATH/platform-tools:$STUDIO_SDK_PATH/build-tools/${BUILDTOOLS_VERSION}:$STUDIO_SDK_PATH/tools/bin"
|
|
|
|
retVal=$(type -P "adb")
|
|
if [ "$retVal" == "" ]; then
|
|
echo >>$HOME/.bashrc
|
|
echo export PATH="\"\$PATH:$PLATFORMTOOLS\"" >>$HOME/.bashrc
|
|
echo Added $PLATFORMTOOLS to path
|
|
fi
|
|
|
|
SDKMANAGERPATH="$STUDIO_SDK_PATH/cmdline-tools/latest/bin"
|
|
if [ ! -d "$SDKMANAGERPATH" ]; then
|
|
SDKMANAGERPATH="$STUDIO_SDK_PATH/tools/bin"
|
|
if [ ! -d "$SDKMANAGERPATH" ]; then
|
|
echo Unable to locate sdkmanager. Did you run Android Studio and install cmdline-tools after installing?
|
|
${PAUSE}
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
"$SDKMANAGERPATH/sdkmanager" "platform-tools" "platforms;${PLATFORMS_VERSION}" "build-tools;${BUILDTOOLS_VERSION}" "cmake;${CMAKE_VERSION}" "ndk;${NDK_VERSION}"
|
|
|
|
retVal=$?
|
|
if [ $retVal -ne 0 ]; then
|
|
echo Update failed. Please check the Android Studio install.
|
|
${PAUSE}
|
|
exit $retVal
|
|
fi
|
|
|
|
if [ ! -d "$STUDIO_SDK_PATH/platform-tools" ]; then
|
|
retVal=1
|
|
fi
|
|
if [ ! -d "$STUDIO_SDK_PATH/platforms/${PLATFORMS_VERSION}" ]; then
|
|
retVal=1
|
|
fi
|
|
if [ ! -d "$STUDIO_SDK_PATH/build-tools/${BUILDTOOLS_VERSION}" ]; then
|
|
retVal=1
|
|
fi
|
|
if [ ! -d "$NDKINSTALLPATH" ]; then
|
|
retVal=1
|
|
fi
|
|
|
|
if [ $retVal -ne 0 ]; then
|
|
echo Update failed. Did you accept the license agreement?
|
|
${PAUSE}
|
|
exit $retVal
|
|
fi
|
|
|
|
echo Success!
|
|
|
|
if ! grep -q "export NDKROOT=\"$NDKINSTALLPATH\"" $HOME/.bashrc
|
|
then
|
|
echo >>$HOME/.bashrc
|
|
echo "export NDKROOT=\"$NDKINSTALLPATH\"" >>$HOME/.bashrc
|
|
echo "export NDK_ROOT=\"$NDKINSTALLPATH\"" >>$HOME/.bashrc
|
|
fi
|
|
|
|
exit 0
|