diff --git a/images/linux/scripts/SoftwareReport/SoftwareReport.Android.psm1 b/images/linux/scripts/SoftwareReport/SoftwareReport.Android.psm1 index 2c84696c4..b7ce2b8e1 100644 --- a/images/linux/scripts/SoftwareReport/SoftwareReport.Android.psm1 +++ b/images/linux/scripts/SoftwareReport/SoftwareReport.Android.psm1 @@ -156,13 +156,19 @@ function Get-AndroidGoogleAPIsVersions { function Get-AndroidNDKVersions { $ndkFolderPath = Join-Path (Get-AndroidSDKRoot) "ndk" $versions = Get-ChildItem -Path $ndkFolderPath -Name - return ($versions | Join-String -Separator "
") + $ndkDefaultVersion = Get-ToolsetValue "android.ndk.default" + $ndkDefaultFullVersion = Get-ChildItem "$env:ANDROID_HOME/ndk/$ndkDefaultVersion.*" -Name | Select-Object -Last 1 + + return ($versions | ForEach-Object { + $defaultPostfix = ( $_ -eq $ndkDefaultFullVersion ) ? " (default)" : "" + $_ + $defaultPostfix + } | Join-String -Separator "
") } function Build-AndroidEnvironmentTable { $androidVersions = Get-Item env:ANDROID_* - $shouldResolveLink = 'ANDROID_NDK_LATEST_HOME' + $shouldResolveLink = 'ANDROID_NDK', 'ANDROID_NDK_HOME', 'ANDROID_NDK_ROOT', 'ANDROID_NDK_LATEST_HOME' return $androidVersions | Sort-Object -Property Name | ForEach-Object { [PSCustomObject] @{ "Name" = $_.Name diff --git a/images/linux/scripts/installers/android.sh b/images/linux/scripts/installers/android.sh index 1d5d3d7ea..1a34bf2f0 100644 --- a/images/linux/scripts/installers/android.sh +++ b/images/linux/scripts/installers/android.sh @@ -84,6 +84,7 @@ extras=$(get_toolset_value '.android.extra_list[]|"extras;" + .') addons=$(get_toolset_value '.android.addon_list[]|"add-ons;" + .') additional=$(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') components=("${extras[@]}" "${addons[@]}" "${additional[@]}") for ndk_version in "${ANDROID_NDK_MAJOR_VERSIONS[@]}" @@ -93,7 +94,13 @@ do done ANDROID_NDK_MAJOR_LATEST=(${ANDROID_NDK_MAJOR_VERSIONS[-1]}) +ndkDefaultFullVersion=$(get_full_ndk_version $ANDROID_NDK_MAJOR_DEFAULT) ndkLatestFullVersion=$(get_full_ndk_version $ANDROID_NDK_MAJOR_LATEST) +ANDROID_NDK="$ANDROID_SDK_ROOT/ndk/$ndkDefaultFullVersion" +# ANDROID_NDK, ANDROID_NDK_HOME, and ANDROID_NDK_LATEST_HOME variables should be set as many customer builds depend on them https://github.com/actions/virtual-environments/issues/5879 +echo "ANDROID_NDK=${ANDROID_NDK}" | tee -a /etc/environment +echo "ANDROID_NDK_HOME=${ANDROID_NDK}" | tee -a /etc/environment +echo "ANDROID_NDK_ROOT=${ANDROID_NDK}" | tee -a /etc/environment echo "ANDROID_NDK_LATEST_HOME=$ANDROID_SDK_ROOT/ndk/$ndkLatestFullVersion" | tee -a /etc/environment availablePlatforms=($($SDKMANAGER --list | sed -n '/Available Packages:/,/^$/p' | grep "platforms;android-[0-9]" | cut -d"|" -f 1)) diff --git a/images/linux/toolsets/toolset-1804.json b/images/linux/toolsets/toolset-1804.json index 9c268c2ed..264c6d96a 100644 --- a/images/linux/toolsets/toolset-1804.json +++ b/images/linux/toolsets/toolset-1804.json @@ -106,6 +106,7 @@ "cmake;3.22.1" ], "ndk": { + "default": "25", "versions": [ "23", "24", "25" ] diff --git a/images/linux/toolsets/toolset-2004.json b/images/linux/toolsets/toolset-2004.json index 1e8568e29..9ec9940b2 100644 --- a/images/linux/toolsets/toolset-2004.json +++ b/images/linux/toolsets/toolset-2004.json @@ -103,6 +103,7 @@ "cmake;3.22.1" ], "ndk": { + "default": "25", "versions": [ "23", "24", "25" ] diff --git a/images/linux/toolsets/toolset-2204.json b/images/linux/toolsets/toolset-2204.json index c1beb9f8d..1b8f528b2 100644 --- a/images/linux/toolsets/toolset-2204.json +++ b/images/linux/toolsets/toolset-2204.json @@ -89,6 +89,7 @@ "cmake;3.22.1" ], "ndk": { + "default": "25", "versions": [ "23", "24", "25" ]