mirror of
git://code.qt.io/qt/qt5.git
synced 2025-12-21 15:38:15 +08:00
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:
@@ -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"
|
||||
|
||||
@@ -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 '^\[[ =]*\]'"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user