mirror of
https://github.com/actions/runner-images-sangeeth.git
synced 2025-12-24 10:28:10 +08:00
Remove ndk-bundle + old ndk versions from macOS (#5929)
This commit is contained in:
@@ -32,7 +32,6 @@ ANDROID_EXTRA_LIST=($(get_toolset_value '.android."extra-list"[]'))
|
||||
ANDROID_ADDON_LIST=($(get_toolset_value '.android."addon-list"[]'))
|
||||
ANDROID_ADDITIONAL_TOOLS=($(get_toolset_value '.android."additional-tools"[]'))
|
||||
ANDROID_NDK_MAJOR_VERSIONS=($(get_toolset_value '.android.ndk."versions"[]'))
|
||||
ANDROID_NDK_MAJOR_DEFAULT=$(get_toolset_value '.android.ndk.default')
|
||||
ANDROID_NDK_MAJOR_LATEST=$(get_toolset_value '.android.ndk."versions"[-1]')
|
||||
# Get the latest command line tools from https://developer.android.com/studio#cmdline-tools
|
||||
cmdlineToolsVersion=$(get_toolset_value '.android."cmdline-tools"')
|
||||
@@ -81,12 +80,8 @@ do
|
||||
ndk_full_version=$(get_full_ndk_version $ndk_version)
|
||||
echo y | $SDKMANAGER "ndk;$ndk_full_version"
|
||||
done
|
||||
# This changes were added due to incompatibility with android ndk-bundle (ndk;22.0.7026061).
|
||||
# Link issue virtual-environments: https://github.com/actions/virtual-environments/issues/2481
|
||||
# Link issue xamarin-android: https://github.com/xamarin/xamarin-android/issues/5526
|
||||
ndkDefault=$(get_full_ndk_version $ANDROID_NDK_MAJOR_DEFAULT)
|
||||
|
||||
ndkLatest=$(get_full_ndk_version $ANDROID_NDK_MAJOR_LATEST)
|
||||
ln -s $ANDROID_HOME/ndk/$ndkDefault $ANDROID_HOME/ndk-bundle
|
||||
ANDROID_NDK_LATEST_HOME=$ANDROID_HOME/ndk/$ndkLatest
|
||||
echo "export ANDROID_NDK_LATEST_HOME=$ANDROID_NDK_LATEST_HOME" >> "${HOME}/.bashrc"
|
||||
|
||||
@@ -126,17 +121,4 @@ do
|
||||
echo y | $SDKMANAGER "$tool_name"
|
||||
done
|
||||
|
||||
popd
|
||||
|
||||
echo "Installing ProGuard-5..."
|
||||
PROGUARD_LOCATION="https://github.com/Guardsquare/proguard/archive/proguard5.3.3.tar.gz"
|
||||
pushd $ANDROID_HOME
|
||||
cd tools
|
||||
mv proguard proguard4
|
||||
mkdir proguard && cd proguard
|
||||
curl -L -o proguard5.tgz $PROGUARD_LOCATION
|
||||
tar xzf proguard5.tgz --strip 1 && rm -f proguard5.tgz
|
||||
cp ../proguard4/proguard-*.txt . # Copy the Proguard Android definitions from the previous version
|
||||
popd
|
||||
|
||||
invoke_tests "Android"
|
||||
|
||||
@@ -1,66 +0,0 @@
|
||||
#!/bin/bash -e -o pipefail
|
||||
source ~/utils/utils.sh
|
||||
|
||||
ANDROID_HOME=$HOME/Library/Android/sdk
|
||||
ANDROID_NDK_HOME=$ANDROID_HOME/ndk-bundle
|
||||
SDKMANAGER=$ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager
|
||||
|
||||
# Android NDK v16 is not compatible with old Xamarin.Android SDK
|
||||
# and fails builds with BundleAssemblies enabled
|
||||
ANDROID_NDK_15_HOME=$HOME/Library/Android/sdk/android-ndk-r15c
|
||||
ANDROID_NDK_PACKAGE="android-ndk-r15c-darwin-x86_64.zip"
|
||||
ANDROID_NDK_URL="https://dl.google.com/android/repository/${ANDROID_NDK_PACKAGE}"
|
||||
|
||||
echo "Install and setup Android NDK v15..."
|
||||
cd $HOME
|
||||
|
||||
download_with_retries $ANDROID_NDK_URL
|
||||
|
||||
echo "Unzipping $ANDROID_NDK_URL..."
|
||||
unzip -q $ANDROID_NDK_PACKAGE -d ${ANDROID_HOME}
|
||||
|
||||
echo "Removing $ANDROID_NDK_URL..."
|
||||
rm -rf "$ANDROID_NDK_PACKAGE"
|
||||
|
||||
XAMARIN_ANDROID_NDK_PATH=$HOME/Library/Developer/Xamarin
|
||||
mkdir -p $XAMARIN_ANDROID_NDK_PATH
|
||||
|
||||
echo "Preparing symlink for $ANDROID_NDK_15_HOME ..."
|
||||
ln -s $ANDROID_NDK_15_HOME $XAMARIN_ANDROID_NDK_PATH/android-ndk
|
||||
|
||||
# NDK r17 does not include MIPS/MIPS64 toolchains anymore, NDK r16b still provides this a supplement
|
||||
echo "Checking NDK installation contains required MIPS toolchains…"
|
||||
NDK_BUNDLE_TOOLCHAINS=$ANDROID_NDK_HOME/toolchains
|
||||
ANDROID_NDK_R16B_PATH=$ANDROID_HOME/ndk/16.1.4479499
|
||||
MIPS64_TOOLCHAIN=$NDK_BUNDLE_TOOLCHAINS/mips64el-linux-android-4.9/prebuilt/darwin-x86_64/bin
|
||||
MIPS_TOOLCHAIN=$NDK_BUNDLE_TOOLCHAINS/mipsel-linux-android-4.9/prebuilt/darwin-x86_64/bin
|
||||
|
||||
if [ -d $MIPS64_TOOLCHAIN ] && [ -d $MIPS_TOOLCHAIN ]; then
|
||||
echo "MIPS64 and MIPS toolchain already installed for NDK bundle - not reinstalling."
|
||||
else
|
||||
pushd $ANDROID_HOME
|
||||
|
||||
echo "Installing ndk r16b..."
|
||||
echo y | $SDKMANAGER "ndk;16.1.4479499"
|
||||
|
||||
echo "Cleaning potential pre-existing MIPS toolchain directories"
|
||||
rm -rf ndk-bundle/toolchains/mips*
|
||||
|
||||
echo "Moving MIPS toolchains to $ANDROID_NDK_HOME/toolchains"
|
||||
mv $ANDROID_NDK_R16B_PATH/toolchains/mips** ndk-bundle/toolchains/
|
||||
|
||||
echo "Delete ndk r16b..."
|
||||
rm -rf $ANDROID_NDK_R16B_PATH
|
||||
|
||||
if [ ! -d $MIPS64_TOOLCHAIN ] || [ ! -d $MIPS_TOOLCHAIN ]; then
|
||||
echo "MIPS toolchains not installed correctly! Check whether $ANDROID_NDK_HOME/toolchains/mips* does not exist."
|
||||
fi
|
||||
popd
|
||||
fi
|
||||
|
||||
# Latest versions of NDK doesn't include GCC, NDK r18 does
|
||||
echo "Installing ndk r18B..."
|
||||
echo y | $SDKMANAGER "ndk;18.1.5063045"
|
||||
echo "export ANDROID_NDK_18R_PATH=${ANDROID_HOME}/ndk/18.1.5063045" >> "${HOME}/.bashrc"
|
||||
|
||||
invoke_tests "XamarinNDK"
|
||||
Reference in New Issue
Block a user