mirror of
https://github.com/actions/runner-images-sangeeth.git
synced 2025-12-20 06:29:50 +00:00
[macOS] Add Android NDK r23 (#4032)
This commit is contained in:
@@ -26,13 +26,14 @@ function get_full_ndk_version {
|
||||
|
||||
components=()
|
||||
|
||||
ANDROID_PLATFORM=($(get_toolset_value '.android.platform_min_version'))
|
||||
ANDROID_BUILD_TOOL=($(get_toolset_value '.android.build_tools_min_version'))
|
||||
ANDROID_PLATFORM=$(get_toolset_value '.android.platform_min_version')
|
||||
ANDROID_BUILD_TOOL=$(get_toolset_value '.android.build_tools_min_version')
|
||||
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_LTS=($(get_toolset_value '.android.ndk.lts'))
|
||||
ANDROID_NDK_MAJOR_LATEST=($(get_toolset_value '.android.ndk.latest'))
|
||||
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
|
||||
ANDROID_OSX_SDK_URL="https://dl.google.com/android/repository/commandlinetools-mac-7302050_latest.zip"
|
||||
ANDROID_HOME=$HOME/Library/Android/sdk
|
||||
@@ -59,13 +60,17 @@ echo "Installing latest tools & platform tools..."
|
||||
echo y | $SDKMANAGER "tools" "platform-tools"
|
||||
|
||||
echo "Installing latest ndk..."
|
||||
ndkLtsLatest=$(get_full_ndk_version $ANDROID_NDK_MAJOR_LTS)
|
||||
ndkLatest=$(get_full_ndk_version $ANDROID_NDK_MAJOR_LATEST)
|
||||
echo y | $SDKMANAGER "ndk;$ndkLtsLatest" "ndk;$ndkLatest"
|
||||
for ndk_version in "${ANDROID_NDK_MAJOR_VERSIONS[@]}"
|
||||
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
|
||||
ln -s $ANDROID_HOME/ndk/$ndkLtsLatest $ANDROID_HOME/ndk-bundle
|
||||
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"
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
Import-Module "$PSScriptRoot/../helpers/SoftwareReport.Helpers.psm1" -DisableNameChecking
|
||||
Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
|
||||
|
||||
function Split-TableRowByColumns {
|
||||
param(
|
||||
@@ -184,8 +185,13 @@ function Get-AndroidNDKVersions {
|
||||
|
||||
$ndkFolderPath = Join-Path (Get-AndroidSDKRoot) "ndk"
|
||||
$versions += Get-ChildItem -Path $ndkFolderPath -Name
|
||||
$ndkDefaultVersion = Get-ToolsetValue "android.ndk.default"
|
||||
$ndkDefaultFullVersion = Get-ChildItem "$env:ANDROID_HOME/ndk/$ndkDefaultVersion.*" -Name | Select-Object -Last 1
|
||||
|
||||
return ($versions -Join "<br>")
|
||||
return ($versions | ForEach-Object {
|
||||
$defaultPostfix = ( $_ -eq $ndkDefaultFullVersion ) ? " (default)" : ""
|
||||
$_ + $defaultPostfix
|
||||
} | Join-String -Separator "<br>")
|
||||
}
|
||||
|
||||
function Get-IntelHaxmVersion {
|
||||
|
||||
@@ -8,10 +8,10 @@ Describe "Android" {
|
||||
$androidSdkManagerPackages = Get-AndroidPackages
|
||||
[int]$platformMinVersion = Get-ToolsetValue "android.platform_min_version"
|
||||
[version]$buildToolsMinVersion = Get-ToolsetValue "android.build_tools_min_version"
|
||||
[string]$ndkLatestVersion = Get-ToolsetValue "android.ndk.latest"
|
||||
[string]$ndkLtsVersion = Get-ToolsetValue "android.ndk.lts"
|
||||
$ndkLatestFullVersion = (Get-ChildItem "$env:ANDROID_HOME/ndk/$ndkLatestVersion.*" | Select-Object -Last 1).Name
|
||||
$ndkLtsFullVersion = (Get-ChildItem "$env:ANDROID_HOME/ndk/$ndkLtsVersion.*" | Select-Object -Last 1).Name
|
||||
[array]$ndkVersions = Get-ToolsetValue "android.ndk.versions"
|
||||
[string]$ndkDefaultVersion = Get-ToolsetValue "android.ndk.default"
|
||||
$ndkFullVersions = $ndkVersions | ForEach-Object { Get-ChildItem "$env:ANDROID_HOME/ndk/${_}.*" -Name | Select-Object -Last 1} | ForEach-Object { "ndk/${_}" }
|
||||
$ndkDefaultFullVersion = Get-ChildItem "$env:ANDROID_HOME/ndk/$ndkDefaultVersion.*" -Name | Select-Object -Last 1
|
||||
|
||||
$platformVersionsList = ($androidSdkManagerPackages | Where-Object { "$_".StartsWith("platforms;") }) -replace 'platforms;android-', ''
|
||||
$platformNumericList = $platformVersionsList | Where-Object { $_ -match "\d+" } | Where-Object { [int]$_ -ge $platformMinVersion } | Sort-Object -Unique
|
||||
@@ -28,10 +28,9 @@ Describe "Android" {
|
||||
"tools/proguard",
|
||||
"ndk-bundle",
|
||||
"cmake",
|
||||
"ndk/$ndkLatestFullVersion",
|
||||
"ndk/$ndkLtsFullVersion",
|
||||
$platforms,
|
||||
$buildTools,
|
||||
$ndkFullVersions,
|
||||
(Get-ToolsetValue "android.extra-list" | ForEach-Object { "extras/${_}" }),
|
||||
(Get-ToolsetValue "android.addon-list" | ForEach-Object { "add-ons/${_}" }),
|
||||
(Get-ToolsetValue "android.additional-tools")
|
||||
@@ -76,11 +75,18 @@ Describe "Android" {
|
||||
|
||||
Context "Packages" {
|
||||
$testCases = $androidPackages | ForEach-Object { @{ PackageName = $_ } }
|
||||
$defaultNdkTestCase = @{ NdkDefaultFullVersion = $ndkDefaultFullVersion }
|
||||
|
||||
It "<PackageName>" -TestCases $testCases {
|
||||
param ([string] $PackageName)
|
||||
Validate-AndroidPackage $PackageName
|
||||
}
|
||||
|
||||
It "ndk-bundle points to the default NDK version" -TestCases $defaultNdkTestCase {
|
||||
$ndkLinkTarget = (Get-Item $env:ANDROID_NDK_HOME).Target
|
||||
$ndkVersion = Split-Path -Path $ndkLinkTarget -Leaf
|
||||
$ndkVersion | Should -BeExactly $NdkDefaultFullVersion
|
||||
}
|
||||
}
|
||||
|
||||
It "HAXM is installed" -Skip:($os.IsBigSur) {
|
||||
|
||||
@@ -215,8 +215,10 @@
|
||||
"cmake;3.18.1"
|
||||
],
|
||||
"ndk": {
|
||||
"lts": "21",
|
||||
"latest": "22"
|
||||
"default": "21",
|
||||
"versions": [
|
||||
"21", "22", "23"
|
||||
]
|
||||
}
|
||||
},
|
||||
"powershellModules": [
|
||||
|
||||
@@ -167,8 +167,10 @@
|
||||
"cmake;3.18.1"
|
||||
],
|
||||
"ndk": {
|
||||
"lts": "21",
|
||||
"latest": "22"
|
||||
"default": "21",
|
||||
"versions": [
|
||||
"21", "22", "23"
|
||||
]
|
||||
}
|
||||
},
|
||||
"powershellModules": [
|
||||
|
||||
@@ -115,8 +115,10 @@
|
||||
"cmake;3.18.1"
|
||||
],
|
||||
"ndk": {
|
||||
"lts": "21",
|
||||
"latest": "22"
|
||||
"default": "21",
|
||||
"versions": [
|
||||
"21", "22", "23"
|
||||
]
|
||||
}
|
||||
},
|
||||
"powershellModules": [
|
||||
|
||||
Reference in New Issue
Block a user