Update Android NDK to version r26b

Revision 26.1.10909125. Also prebuilt OpenSSL 3.0.7 with it.

Task-number: QTQAINFRA-5771
Pick-to: 6.7
Change-Id: I0dbe1f2d38f277bcb805f5b7ac1f30e25aabd1f8
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
This commit is contained in:
Elias Toivola
2023-10-13 12:02:42 +03:00
parent cc680854f2
commit 782e1700cf
14 changed files with 56 additions and 51 deletions

View File

@@ -24,13 +24,13 @@ basePath="http://ci-files01-hki.ci.qt.io/input/android"
toolsVersion="2.1"
toolsFile="commandlinetools-linux-6609375_latest.zip"
ndkVersionLatest="r25b"
ndkVersionLatest="r26b"
ndkVersionDefault=$ndkVersionLatest
sdkBuildToolsVersion="34.0.0"
sdkApiLevel="android-34"
toolsSha1="9172381ff070ee2a416723c1989770cf4b0d1076"
ndkSha1Latest="e27dcb9c8bcaa77b78ff68c3f23abcf6867959eb"
ndkSha1Latest="fdf33d9f6c1b3f16e5459d53a82c7d2201edbcc4"
ndkSha1Default=$ndkSha1Latest
# Android 14 avd zip
@@ -61,24 +61,26 @@ function InstallNdk() {
ndkVersion=$1
ndkSha1=$2
if [[ ! -d "$targetFolder/android-ndk-$ndkVersion" ]]; then
ndkFile="android-ndk-$ndkVersion-linux.zip"
ndkTargetFile="/tmp/$ndkFile"
ndkSourceFile="$basePath/$ndkFile"
DownloadURL "$ndkSourceFile" "$ndkSourceFile" "$ndkSha1" "$ndkTargetFile"
echo "Unzipping Android NDK to '$targetFolder'"
sudo unzip -q "$ndkTargetFile" -d "$targetFolder"
rm "$ndkTargetFile"
fi
ndkFile="android-ndk-$ndkVersion-linux.zip"
ndkTargetFile="/tmp/$ndkFile"
ndkSourceFile="$basePath/$ndkFile"
DownloadURL "$ndkSourceFile" "$ndkSourceFile" "$ndkSha1" "$ndkTargetFile"
echo "Unzipping Android NDK to '$targetFolder'"
# Get the package base directory name as string
zipBase=$(sudo zipinfo -1 "$ndkTargetFile" 2>/dev/null | awk '!seen {sub("/.*",""); print; seen=1}')
sudo unzip -q "$ndkTargetFile" -d "$targetFolder"
rm "$ndkTargetFile"
androidNdkRoot="${targetFolder}/${zipBase}"
}
InstallNdk $ndkVersionDefault $ndkSha1Default
SetEnvVar "ANDROID_NDK_ROOT_DEFAULT" "$targetFolder/android-ndk-$ndkVersionDefault"
InstallNdk $ndkVersionLatest $ndkSha1Latest
SetEnvVar "ANDROID_NDK_ROOT_LATEST" "$targetFolder/android-ndk-$ndkVersionLatest"
SetEnvVar "ANDROID_NDK_ROOT_DEFAULT" "$androidNdkRoot"
if [ "$ndkVersionDefault" != "$ndkVersionLatest" ]; then
InstallNdk $ndkVersionLatest $ndkSha1Latest
fi
SetEnvVar "ANDROID_NDK_ROOT_LATEST" "$androidNdkRoot"
# To be used by vcpkg
SetEnvVar "ANDROID_NDK_HOME" "$targetFolder/android-ndk-$ndkVersionDefault"

View File

@@ -20,7 +20,7 @@ toolsVersion="2.1"
# toolsFile dertermines tools version
toolsFile="commandlinetools-mac-6609375_latest.zip"
ndkVersionLatest="r25b"
ndkVersionLatest="r26b"
ndkVersionDefault="$ndkVersionLatest"
sdkBuildToolsVersion="34.0.0"
# this is compile sdk version
@@ -48,6 +48,7 @@ sudo unzip -q "$toolsSourceFile" -d "$sdkTargetFolder"
echo "Changing ownership of Android files."
sudo chown -R qt:wheel "$targetFolder"
sudo chmod -R 755 $targetFolder
# Run the following command under `eval` or `sh -c` so that the shell properly splits it
sdkmanager_no_progress_bar_cmd="tr '\r' '\n' | grep -v '^\[[ =]*\]'"

View File

@@ -54,7 +54,7 @@ build_ffmpeg_android() {
api_version=24
ndk_root=/opt/android/android-ndk-r25b
ndk_root=$ANDROID_NDK_ROOT_DEFAULT
if uname -a |grep -q "Darwin"; then
ndk_host=darwin-x86_64
else

View File

@@ -12,9 +12,9 @@ source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
version="3.0.7"
ndkVersionLatest="r25b"
ndkVersionLatest="r26b"
ndkVersionDefault=$ndkVersionLatest
prebuiltOpensslNdkShaLatest="17085b1ef76ba116466213703e38a9d2274ec859"
prebuiltOpensslNdkShaLatest="ea925d5a5b696916fb3650403a2eb3189c52b5ce"
prebuiltOpensslNdkShaDefault=$prebuiltOpensslNdkShaLatest
: <<'EOB' SOURCE BUILD INSTRUCTIONS - Openssl prebuilt was made using Android NDK 25
@@ -32,7 +32,7 @@ else
fi
# ANDROID_NDK_ROOT is required during Configure
export ANDROID_NDK_ROOT=/opt/android/android-ndk-r25b
export ANDROID_NDK_ROOT=/opt/android/android-ndk-r26b
officialUrl="https://www.openssl.org/source/openssl-$version.tar.gz"
cachedUrl="http://ci-files01-hki.ci.qt.io/input/openssl/openssl-$version.tar.gz"

View File

@@ -12,12 +12,12 @@ source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
version="3.0.7"
ndkVersionLatest="r25b"
ndkVersionLatest="r26b"
ndkVersionDefault=$ndkVersionLatest
prebuiltOpensslNdkShaLatest="17085b1ef76ba116466213703e38a9d2274ec859"
prebuiltOpensslNdkShaLatest="ea925d5a5b696916fb3650403a2eb3189c52b5ce"
prebuiltOpensslNdkShaDefault=$prebuiltOpensslNdkShaLatest
: <<'EOB' SOURCE BUILD INSTRUCTIONS - Openssl prebuilt was made using Android NDK 25
: <<'EOB' SOURCE BUILD INSTRUCTIONS - Openssl prebuilt was made using Android NDK r26b
# Source built requires GCC and Perl to be in PATH. Rhel "requires yum install perl-IPC-Cmd"
exports_file="/tmp/export.sh"
# source previously made environmental variables.
@@ -31,9 +31,6 @@ else
rm -rf "$exports_file"
fi
# ANDROID_NDK_ROOT is required during Configure
export ANDROID_NDK_ROOT=/opt/android/android-ndk-r25b
officialUrl="https://www.openssl.org/source/openssl-$version.tar.gz"
cachedUrl="http://ci-files01-hki.ci.qt.io/input/openssl/openssl-$version.tar.gz"
targetFile="/tmp/openssl-$version.tar.gz"

View File

@@ -16,11 +16,11 @@ if (Is64BitWinHost) {
# More info and building instructions can be found from http://doc.qt.io/qt-5/opensslsupport.html
$openssl_version = "3.0.7"
$ndk_version_latest = "r25b"
$ndk_version_latest = "r26b"
$ndk_version_default = "$ndk_version_latest"
$openssl_compressed = Get-DownloadLocation ("openssl-${openssl_version}.tar.gz")
$openssl_sha1 = "f20736d6aae36bcbfa9aba0d358c71601833bf27"
$prebuilt_sha1_ndk_latest = "17085b1ef76ba116466213703e38a9d2274ec859"
$prebuilt_sha1_ndk_latest = "ea925d5a5b696916fb3650403a2eb3189c52b5ce"
$prebuilt_sha1_ndk_default = "$prebuilt_sha1_ndk_latest"
$destination_prefix = "C:\Utils\prebuilt-openssl-${openssl_version}-for-android-ndk"
@@ -70,7 +70,7 @@ function Install($1, $2) {
}
# ANDROID_NDK_ROOT needs to be in environment variables before running this script
# Set-EnvironmentVariable "ANDROID_NDK_ROOT" "C:\Utils\Android\android-ndk-r25b"
# Set-EnvironmentVariable "ANDROID_NDK_ROOT" "C:\Utils\Android\android-ndk-r26b"
$make_install = Start-Process -NoNewWindow -Wait -PassThru -ErrorAction Stop -FilePath "$msys_bash" -ArgumentList ("-lc", "`"yes | pacman -S make`"")
CheckExitCode $make_install

View File

@@ -10,17 +10,15 @@
# That's why we need to use Andoid-21 API version in Qt 5.9.
# NDK
$ndkVersionLatest = "r25b"
$ndkVersionLatest = "r26b"
$ndkVersionDefault = $ndkVersionLatest
$ndkChecksumLatest = "b2e9b5ab2e1434a65ffd85780891878cf5c6fd92"
$ndkChecksumLatest = "17453c61a59e848cffb8634f2c7b322417f1732e"
$ndkChecksumDefault = $ndkChecksumLatest
$ndkCachedUrlLatest = "\\ci-files01-hki.ci.qt.io\provisioning\android\android-ndk-$ndkVersionLatest-windows.zip"
$ndkOfficialUrlLatest = "https://dl.google.com/android/repository/android-ndk-$ndkVersionLatest-windows.zip"
$ndkCachedUrlDefault = "\\ci-files01-hki.ci.qt.io\provisioning\android\android-ndk-$ndkVersionDefault-windows.zip"
$ndkOfficialUrlDefault = "https://dl.google.com/android/repository/android-ndk-$ndkVersionDefault-windows.zip"
$ndkFolderLatest = "c:\Utils\Android\android-ndk-$ndkVersionLatest"
$ndkFolderDefault = "c:\Utils\Android\android-ndk-$ndkVersionDefault"
$ndkZip = "c:\Windows\Temp\android_ndk.zip"
$ndkZip = "C:\Windows\Temp\android_ndk.zip"
# SDK
$toolsVersion = "2.1"
@@ -31,7 +29,7 @@ $sdkBuildToolsVersion = "34.0.0"
$toolsCachedUrl= "\\ci-files01-hki.ci.qt.io\provisioning\android\$toolsFile"
$toolsOfficialUrl = "https://dl.google.com/android/repository/$toolsFile"
$toolsChecksum = "e2e19c2ff584efa87ef0cfdd1987f92881323208"
$toolsFolder = "c:\Utils\Android\cmdline-tools"
$cmdFolder = "c:\Utils\Android\cmdline-tools"
$sdkZip = "c:\Windows\Temp\$toolsFile"
@@ -40,31 +38,38 @@ function Install($1, $2, $3, $4) {
$zip = $2
$checksum = $3
$offcialUrl = $4
$tempExtractDir = "C:\Windows\Temp\android_extract"
Download $offcialUrl $cacheUrl $zip
Verify-Checksum $zip "$checksum"
Extract-7Zip $zip C:\Utils\Android
Extract-7Zip $zip $tempExtractDir
$baseDirectory = (Get-ChildItem $tempExtractDir -Attributes D | Select-Object -First 1).Name
Move-Item -Path ($tempExtractDir + "\" + $baseDirectory) -Destination "C:\Utils\Android\$baseDirectory" -Force
Remove $zip
return "C:\Utils\Android\$baseDirectory"
}
New-Item -ItemType Directory -Path C:\Utils\Android\
New-Item -ItemType Directory -Path C:\Windows\Temp\android_extract
Write-Host "Installing Android NDK $ndkVersionDefault"
Install $ndkCachedUrlDefault $ndkZip $ndkChecksumDefault $ndkOfficialUrlDefault
$ndkFolderDefault = Install $ndkCachedUrlDefault $ndkZip $ndkChecksumDefault $ndkOfficialUrlDefault
Set-EnvironmentVariable "ANDROID_NDK_ROOT_DEFAULT" $ndkFolderDefault
# To be used by vcpkg
Set-EnvironmentVariable "ANDROID_NDK_HOME" $ndkFolderDefault
$env:ANDROID_NDK_HOME = "$ndkFolderDefault"
if (Test-Path -Path $ndkFolderLatest) {
if ($ndkVersionDefault -eq $ndkVersionLatest) {
Write-Host "Android Latest version is the same than Default. NDK installation done."
} else {
Write-Host "Installing Android NDK $nkdVersionLatest"
Install $ndkCachedUrlLatest $ndkZip $ndkChecksumLatest $ndkOfficialUrlLatest
$ndkFolderLatest = Install $ndkCachedUrlLatest $ndkZip $ndkChecksumLatest $ndkOfficialUrlLatest
Set-EnvironmentVariable "ANDROID_NDK_ROOT_LATEST" $ndkFolderLatest
}
Install $toolsCachedUrl $sdkZip $toolsChecksum $sdkOfficialUrl
New-Item -ItemType directory -Path $toolsFolder
Move-Item -Path C:\Utils\Android\tools -Destination $toolsFolder\
$toolsFolder = Install $toolsCachedUrl $sdkZip $toolsChecksum $toolsOfficialUrl
New-Item -ItemType directory -Path $cmdFolder
Move-Item -Path $toolsFolder -Destination $cmdFolder\
Set-EnvironmentVariable "ANDROID_SDK_ROOT" "C:\Utils\Android"
Set-EnvironmentVariable "ANDROID_API_VERSION" $sdkApiLevel
@@ -87,7 +92,7 @@ Out-File -FilePath C:\Utils\Android\licenses\android-sdk-license -Encoding utf8
# Attempt to catch all errors of sdkmanager.bat, even when hidden behind a pipeline.
$ErrorActionPreference = "Stop"
cd $toolsFolder\tools\bin\
cd $cmdFolder\tools\bin\
$sdkmanager_args += "platforms;$sdkApiLevel", "platform-tools", "build-tools;$sdkBuildToolsVersion", "--sdk_root=C:\Utils\Android"
$command = 'for($i=0;$i -lt 6;$i++) { $response += "y`n"}; $response | .\sdkmanager.bat @sdkmanager_args | Out-Null'
Invoke-Expression $command

View File

@@ -109,7 +109,7 @@ function InstallAndroidArmv7 {
$target_cpu="armv7-a"
$api_version="24"
$ndkVersionLatest = "r25b"
$ndkVersionLatest = "r26b"
$ndkFolderLatest = "/c/Utils/Android/android-ndk-$ndkVersionLatest"
$toolchain="${ndkFolderLatest}/toolchains/llvm/prebuilt/windows-x86_64"

View File

@@ -20,7 +20,7 @@ toolsVersion="2.1"
# toolsFile dertermines tools version
toolsFile="commandlinetools-mac-6609375_latest.zip"
ndkVersion="r25b"
ndkVersion="r26b"
ndkFile="android-ndk-$ndkVersion-darwin.zip"
sdkBuildToolsVersion="34.0.0"
# this is compile sdk version

View File

@@ -20,7 +20,7 @@ toolsVersion="2.1"
# toolsFile dertermines tools version
toolsFile="commandlinetools-mac-6609375_latest.zip"
ndkVersion="r25b"
ndkVersion="r26b"
ndkFile="android-ndk-$ndkVersion-darwin.zip"
sdkBuildToolsVersion="34.0.0"
# this is compile sdk version

View File

@@ -20,7 +20,7 @@ toolsVersion="2.1"
# toolsFile dertermines tools version
toolsFile="commandlinetools-mac-6609375_latest.zip"
ndkVersion="r25b"
ndkVersion="r26b"
ndkFile="android-ndk-$ndkVersion-darwin.zip"
sdkBuildToolsVersion="34.0.0"
# this is compile sdk version

View File

@@ -20,7 +20,7 @@ toolsVersion="2.1"
# toolsFile dertermines tools version
toolsFile="commandlinetools-mac-6609375_latest.zip"
ndkVersion="r25b"
ndkVersion="r26b"
ndkFile="android-ndk-$ndkVersion-darwin.zip"
sdkBuildToolsVersion="34.0.0"
# this is compile sdk version

View File

@@ -20,7 +20,7 @@ toolsVersion="2.1"
# toolsFile dertermines tools version
toolsFile="commandlinetools-mac-6609375_latest.zip"
ndkVersion="r25b"
ndkVersion="r26b"
ndkFile="android-ndk-$ndkVersion-darwin.zip"
sdkBuildToolsVersion="34.0.0"
# this is compile sdk version

View File

@@ -20,7 +20,7 @@ toolsVersion="2.1"
# toolsFile dertermines tools version
toolsFile="commandlinetools-mac-6609375_latest.zip"
ndkVersion="r25b"
ndkVersion="r26b"
ndkFile="android-ndk-$ndkVersion-darwin.zip"
sdkBuildToolsVersion="34.0.0"
# this is compile sdk version