@@ -37,21 +37,37 @@ ANDROID_NDK_MAJOR_LATEST=$(get_toolset_value '.android.ndk."versions"[-1]')
3737# Get the latest command line tools from https://developer.android.com/studio#cmdline-tools
3838# Newer version(s) require Java 11 by default
3939# See https://github.com/actions/runner-images/issues/6960
40- ANDROID_OSX_SDK_URL=" https://dl.google.com/android/repository/commandlinetools-mac-9123335_latest.zip"
4140ANDROID_HOME=$HOME /Library/Android/sdk
4241ANDROID_OSX_SDK_FILE=tools-macosx.zip
4342
44- pushd $HOME
43+ # Download the latest command line tools so that we can accept all of the licenses.
44+ # See https://developer.android.com/studio/#command-tools
45+ cmdlineToolsVersion=$( get_toolset_value ' .android."cmdline-tools"' )
46+
47+ if [[ $cmdlineToolsVersion == " latest" ]]; then
48+ repositoryXmlUrl=" https://dl.google.com/android/repository/repository2-1.xml"
49+ download_with_retries $repositoryXmlUrl " /tmp" " repository2-1.xml"
50+ cmdlineToolsVersion=$(
51+ yq -p=xml \
52+ ' .sdk-repository.remotePackage[] | select(."+@path" == "cmdline-tools;latest" and .channelRef."+@ref" == "channel-0").archives.archive[].complete.url | select(contains("commandlinetools-mac"))' \
53+ /tmp/repository2-1.xml
54+ )
55+
56+ if [[ -z $cmdlineToolsVersion ]]; then
57+ echo " Failed to parse latest command-line tools version"
58+ exit 1
59+ fi
60+ fi
4561
4662echo " Downloading android command line tools..."
47- download_with_retries $ANDROID_OSX_SDK_URL " . " $ANDROID_OSX_SDK_FILE
63+ download_with_retries " https://dl.google.com/android/repository/ ${cmdlineToolsVersion} " /tmp $ANDROID_OSX_SDK_FILE
4864
4965echo " Uncompressing android command line tools..."
5066mkdir -p $HOME /Library/Android/sdk
51- unzip -q $ANDROID_OSX_SDK_FILE -d $HOME /Library/Android/sdk/cmdline-tools
67+ unzip -q /tmp/ $ANDROID_OSX_SDK_FILE -d $HOME /Library/Android/sdk/cmdline-tools
5268# Command line tools need to be placed in $HOME/Library/Android/sdk/cmdline-tools/latest to function properly
5369mv $HOME /Library/Android/sdk/cmdline-tools/cmdline-tools $HOME /Library/Android/sdk/cmdline-tools/latest
54- rm -f $ANDROID_OSX_SDK_FILE
70+ rm -f /tmp/ $ANDROID_OSX_SDK_FILE
5571
5672echo ANDROID_HOME is $ANDROID_HOME
5773export PATH=$PATH :$ANDROID_HOME /cmdline-tools/latest:$ANDROID_HOME /cmdline-tools/latest/bin
0 commit comments