mirror of
git://code.qt.io/qt/qt5.git
synced 2026-03-25 07:41:24 +08:00
Provisioning: Update Android ndk and build tools
Task-number: QTQAINFRA-3846 Change-Id: I5d3c0efce86e3b8bc3c6070ed4a9e438647bb955 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
This commit is contained in:
@@ -55,7 +55,7 @@ Configurations:
|
||||
Compiler: 'GCC'
|
||||
Target compiler: 'Clang'
|
||||
Features: ['DisableTests', 'UseLegacyInstructions']
|
||||
Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-sql-mysql -no-dbus -no-use-gold-linker -opengl es2 -sysconfdir /etc/xdg -openssl -I {{.Env.OPENSSL_ANDROID_HOME}}/include -xplatform android-clang -android-sdk /opt/android/sdk -android-ndk /opt/android/android-ndk-r20 -android-ndk-host linux-x86_64'
|
||||
Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-sql-mysql -no-dbus -no-use-gold-linker -opengl es2 -sysconfdir /etc/xdg -openssl -I {{.Env.OPENSSL_ANDROID_HOME}}/include -xplatform android-clang -android-sdk /opt/android/sdk -android-ndk /opt/android/android-ndk-r21d -android-ndk-host linux-x86_64'
|
||||
-
|
||||
Template: 'qtci-linux-Ubuntu-20.04-x86_64-50'
|
||||
Target os: 'QEMU'
|
||||
|
||||
@@ -15,4 +15,4 @@ Configurations:
|
||||
Environment variables: ['PATH=C:\MINGW810\mingw64\bin;$PATH']
|
||||
Target compiler: 'Clang'
|
||||
Features: ['DisableTests', 'UseLegacyInstructions']
|
||||
Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -release -nomake tests -nomake examples -no-sql-mysql -no-dbus -opengl es2 -sysconfdir /etc/xdg -openssl -I c:\utils\openssl-android-master\include -xplatform android-clang -android-sdk C:\Utils\Android -android-ndk c:\Utils\Android\android-ndk-r20'
|
||||
Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -release -nomake tests -nomake examples -no-sql-mysql -no-dbus -opengl es2 -sysconfdir /etc/xdg -openssl -I c:\utils\openssl-android-master\include -xplatform android-clang -android-sdk C:\Utils\Android -android-ndk c:\Utils\Android\android-ndk-r21d'
|
||||
|
||||
@@ -45,7 +45,7 @@ Configurations:
|
||||
Compiler: 'GCC'
|
||||
Target compiler: 'Clang'
|
||||
Features: ['DisableTests', 'UseLegacyInstructions']
|
||||
Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-sql-mysql -no-dbus -no-use-gold-linker -opengl es2 -sysconfdir /etc/xdg -openssl -I {{.Env.OPENSSL_ANDROID_HOME}}/include -xplatform android-clang -android-sdk /opt/android/sdk -android-ndk /opt/android/android-ndk-r20 -android-ndk-host linux-x86_64'
|
||||
Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-sql-mysql -no-dbus -no-use-gold-linker -opengl es2 -sysconfdir /etc/xdg -openssl -I {{.Env.OPENSSL_ANDROID_HOME}}/include -xplatform android-clang -android-sdk /opt/android/sdk -android-ndk /opt/android/android-ndk-r21d -android-ndk-host linux-x86_64'
|
||||
-
|
||||
Template: 'qtci-linux-Ubuntu-20.04-x86_64-50'
|
||||
Target os: 'QEMU'
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
#############################################################################
|
||||
##
|
||||
## Copyright (C) 2017 The Qt Company Ltd.
|
||||
## Copyright (C) 2020 The Qt Company Ltd.
|
||||
## Contact: http://www.qt.io/licensing/
|
||||
##
|
||||
## This file is part of the provisioning scripts of the Qt Toolkit.
|
||||
@@ -51,15 +51,15 @@ sdkTargetFolder="$targetFolder/sdk"
|
||||
|
||||
basePath="http://ci-files01-hki.intra.qt.io/input/android"
|
||||
|
||||
toolsVersion="r26.1.1"
|
||||
toolsFile="sdk-tools-linux-4333796.zip"
|
||||
ndkVersion="r20"
|
||||
toolsVersion="2.1"
|
||||
toolsFile="commandlinetools-linux-6609375_latest.zip"
|
||||
ndkVersion="r21d"
|
||||
ndkFile="android-ndk-$ndkVersion-linux-x86_64.zip"
|
||||
sdkBuildToolsVersion="28.0.3"
|
||||
sdkApiLevel="android-28"
|
||||
|
||||
toolsSha1="8c7c28554a32318461802c1291d76fccfafde054"
|
||||
ndkSha1="8665fc84a1b1f0d6ab3b5fdd1e30200cc7b9adff"
|
||||
toolsSha1="9172381ff070ee2a416723c1989770cf4b0d1076"
|
||||
ndkSha1="bcf4023eb8cb6976a4c7cff0a8a8f145f162bf4d"
|
||||
|
||||
toolsTargetFile="/tmp/$toolsFile"
|
||||
toolsSourceFile="$basePath/$toolsFile"
|
||||
@@ -88,17 +88,20 @@ sdkmanager_no_progress_bar_cmd="tr '\r' '\n' | grep -v '^\[[ =]*\]'"
|
||||
# But don't let the pipeline hide sdkmanager failures.
|
||||
set -o pipefail
|
||||
|
||||
sudo mkdir "$sdkTargetFolder/cmdline-tools"
|
||||
sudo mv "$sdkTargetFolder/tools" "$sdkTargetFolder/cmdline-tools"
|
||||
|
||||
echo "Running SDK manager for platforms;$sdkApiLevel, platform-tools and build-tools;$sdkBuildToolsVersion."
|
||||
# shellcheck disable=SC2031
|
||||
if [ "$http_proxy" != "" ]; then
|
||||
proxy_host=$(echo "$proxy" | cut -d'/' -f3 | cut -d':' -f1)
|
||||
proxy_port=$(echo "$proxy" | cut -d':' -f3)
|
||||
echo "y" | "$sdkTargetFolder/tools/bin/sdkmanager" \
|
||||
echo "y" | "$sdkTargetFolder/cmdline-tools/tools/bin/sdkmanager" --sdk_root=$sdkTargetFolder \
|
||||
--no_https --proxy=http --proxy_host="$proxy_host" --proxy_port="$proxy_port" \
|
||||
"platforms;$sdkApiLevel" "platform-tools" "build-tools;$sdkBuildToolsVersion" \
|
||||
| eval $sdkmanager_no_progress_bar_cmd
|
||||
else
|
||||
echo "y" | "$sdkTargetFolder/tools/bin/sdkmanager" \
|
||||
echo "y" | "$sdkTargetFolder/cmdline-tools/tools/bin/sdkmanager" --sdk_root=$sdkTargetFolder \
|
||||
"platforms;$sdkApiLevel" "platform-tools" "build-tools;$sdkBuildToolsVersion" \
|
||||
| eval $sdkmanager_no_progress_bar_cmd
|
||||
fi
|
||||
@@ -118,16 +121,16 @@ echo "Android SDK Build Tools = $sdkBuildToolsVersion" >> ~/versions.txt
|
||||
echo "Android SDK API level = $sdkApiLevel" >> ~/versions.txt
|
||||
echo "Android NDK = $ndkVersion" >> ~/versions.txt
|
||||
|
||||
cd "$sdkTargetFolder/tools/bin"
|
||||
./sdkmanager --install "emulator" \
|
||||
cd "$sdkTargetFolder/cmdline-tools/tools/bin"
|
||||
./sdkmanager --install "emulator" --sdk_root=$sdkTargetFolder \
|
||||
| eval $sdkmanager_no_progress_bar_cmd
|
||||
echo "y" | ./sdkmanager --install "system-images;android-21;google_apis;x86" \
|
||||
echo "y" | ./sdkmanager --install "system-images;android-23;google_apis;x86" \
|
||||
| eval $sdkmanager_no_progress_bar_cmd
|
||||
|
||||
|
||||
echo "Checking the contents of Android SDK again..."
|
||||
ls -l "$sdkTargetFolder"
|
||||
|
||||
echo "no" | ./avdmanager create avd -n x86emulator -k "system-images;android-21;google_apis;x86" -c 2048M -f
|
||||
echo "no" | ./avdmanager create avd -n x86emulator -k "system-images;android-23;google_apis;x86" -c 2048M -f
|
||||
# Purely informative, show the list of avd devices
|
||||
./avdmanager list avd
|
||||
|
||||
@@ -51,7 +51,7 @@ $sha1 = "b213a293f2127ec3e323fb3cfc0c9807664fd997"
|
||||
$destination = "C:\Utils\openssl-android-master"
|
||||
|
||||
# msys unix style paths
|
||||
$ndkPath = "/c/Utils/Android/android-ndk-r20"
|
||||
$ndkPath = "/c/Utils/Android/android-ndk-r21d"
|
||||
$openssl_path = "/c/Utils/openssl-android-master"
|
||||
$cc_path = "$ndkPath/toolchains/llvm/prebuilt/windows-x86_64/bin"
|
||||
Download https://www.openssl.org/source/openssl-$version.tar.gz \\ci-files01-hki.intra.qt.io\provisioning\openssl\openssl-$version.tar.gz $zip
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
############################################################################
|
||||
##
|
||||
## Copyright (C) 2018 The Qt Company Ltd.
|
||||
## Copyright (C) 2020 The Qt Company Ltd.
|
||||
## Contact: http://www.qt.io/licensing/
|
||||
##
|
||||
## This file is part of the provisioning scripts of the Qt Toolkit.
|
||||
@@ -40,23 +40,24 @@
|
||||
# That's why we need to use Andoid-21 API version in Qt 5.9.
|
||||
|
||||
# NDK
|
||||
$ndkVersion = "r20"
|
||||
$ndkVersion = "r21d"
|
||||
$ndkCachedUrl = "\\ci-files01-hki.intra.qt.io\provisioning\android\android-ndk-$ndkVersion-windows-x86_64.zip"
|
||||
$ndkOfficialUrl = "https://dl.google.com/android/repository/android-ndk-$ndkVersion-windows-x86_64.zip"
|
||||
$ndkChecksum = "36e1dc77fad08ad2498fb94b13ad8caf26bbd9df"
|
||||
$ndkChecksum = "99175ce1210258f2280568cd340e0666c69955c7"
|
||||
$ndkFolder = "c:\Utils\Android\android-ndk-$ndkVersion"
|
||||
$ndkZip = "c:\Windows\Temp\android_ndk_$ndkVersion.zip"
|
||||
|
||||
# SDK
|
||||
$toolsVersion = "26.1.1"
|
||||
$toolsFile = "sdk-tools-windows-4333796.zip"
|
||||
$toolsVersion = "2.1"
|
||||
$toolsFile = "commandlinetools-win-6609375_latest.zip"
|
||||
$sdkApi = "ANDROID_API_VERSION"
|
||||
$sdkApiLevel = "android-28"
|
||||
$sdkBuildToolsVersion = "28.0.3"
|
||||
$toolsCachedUrl= "\\ci-files01-hki.intra.qt.io\provisioning\android\$toolsFile"
|
||||
$toolsOfficialUrl = "https://dl.google.com/android/repository/$toolsFile"
|
||||
$toolsChecksum = "aa298b5346ee0d63940d13609fe6bec621384510"
|
||||
$toolsFolder = "c:\Utils\Android\tools"
|
||||
$toolsChecksum = "e2e19c2ff584efa87ef0cfdd1987f92881323208"
|
||||
$toolsFolder = "c:\Utils\Android\cmdline-tools"
|
||||
|
||||
$sdkZip = "c:\Windows\Temp\$toolsFile"
|
||||
|
||||
function Install($1, $2, $3, $4) {
|
||||
@@ -76,7 +77,9 @@ Set-EnvironmentVariable "ANDROID_NDK_HOME" $ndkFolder
|
||||
Set-EnvironmentVariable "ANDROID_NDK_ROOT" $ndkFolder
|
||||
|
||||
Install $toolsCachedUrl $sdkZip $toolsChecksum $sdkOfficialUrl
|
||||
Set-EnvironmentVariable "ANDROID_SDK_HOME" C:\Utils\Android
|
||||
New-Item -ItemType directory -Path $toolsFolder
|
||||
Move-Item -Path C:\Utils\Android\tools -Destination $toolsFolder\
|
||||
Set-EnvironmentVariable "ANDROID_SDK_HOME" "C:\Utils\Anrdoid"
|
||||
Set-EnvironmentVariable "ANDROID_API_VERSION" $sdkApiLevel
|
||||
|
||||
if (IsProxyEnabled) {
|
||||
@@ -98,8 +101,8 @@ 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\bin\
|
||||
$sdkmanager_args += "platforms;$sdkApiLevel", "platform-tools", "build-tools;$sdkBuildToolsVersion"
|
||||
cd $toolsFolder\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
|
||||
$command = 'for($i=0;$i -lt 6;$i++) { $response += "y`n"}; $response | .\sdkmanager.bat --licenses'
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
#############################################################################
|
||||
##
|
||||
## Copyright (C) 2018 The Qt Company Ltd.
|
||||
## Copyright (C) 2020 The Qt Company Ltd.
|
||||
## Contact: http://www.qt.io/licensing/
|
||||
##
|
||||
## This file is part of the provisioning scripts of the Qt Toolkit.
|
||||
@@ -37,7 +37,7 @@
|
||||
|
||||
# It also runs update for SDK API, latest SDK tools, latest platform-tools and build-tools version
|
||||
|
||||
set -e
|
||||
set -ex
|
||||
|
||||
# shellcheck source=../common/unix/SetEnvVar.sh
|
||||
source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
|
||||
@@ -47,11 +47,11 @@ sdkTargetFolder="$targetFolder/sdk"
|
||||
|
||||
basePath="/net/ci-files01-hki.intra.qt.io/hdd/www/input/android"
|
||||
|
||||
toolsVersion="r26.1.1"
|
||||
toolsVersion="2.1"
|
||||
# toolsFile dertermines tools version
|
||||
toolsFile="sdk-tools-darwin-4333796.zip"
|
||||
toolsFile="commandlinetools-mac-6609375_latest.zip"
|
||||
|
||||
ndkVersion="r20"
|
||||
ndkVersion="r21d"
|
||||
ndkFile="android-ndk-$ndkVersion-darwin-x86_64.zip"
|
||||
sdkBuildToolsVersion="28.0.3"
|
||||
# this is compile sdk version
|
||||
@@ -68,14 +68,14 @@ sudo unzip -q "$toolsSourceFile" -d "$sdkTargetFolder"
|
||||
echo "Changing ownership of Android files."
|
||||
sudo chown -R qt:wheel "$targetFolder"
|
||||
|
||||
# Stop the sdkmanager from printing thousands of lines of #hashmarks.
|
||||
# Run the following command under `eval` or `sh -c` so that the shell properly splits it.
|
||||
# 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 '^\[[ =]*\]'"
|
||||
# But don't let the pipeline hide sdkmanager failures.
|
||||
set -o pipefail
|
||||
|
||||
sudo mkdir "$sdkTargetFolder/cmdline-tools"
|
||||
sudo mv "$sdkTargetFolder/tools" "$sdkTargetFolder/cmdline-tools"
|
||||
|
||||
echo "Running SDK manager for platforms;$sdkApiLevel, platform-tools and build-tools;$sdkBuildToolsVersion."
|
||||
(echo "y"; echo "y") | "$sdkTargetFolder/tools/bin/sdkmanager" \
|
||||
(echo "y"; echo "y") | "$sdkTargetFolder/cmdline-tools/tools/bin/sdkmanager" "--sdk_root=$sdkTargetFolder" \
|
||||
"platforms;$sdkApiLevel" "platform-tools" "build-tools;$sdkBuildToolsVersion" \
|
||||
| eval $sdkmanager_no_progress_bar_cmd
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
#############################################################################
|
||||
##
|
||||
## Copyright (C) 2018 The Qt Company Ltd.
|
||||
## Copyright (C) 2020 The Qt Company Ltd.
|
||||
## Contact: http://www.qt.io/licensing/
|
||||
##
|
||||
## This file is part of the provisioning scripts of the Qt Toolkit.
|
||||
@@ -47,11 +47,11 @@ sdkTargetFolder="$targetFolder/sdk"
|
||||
|
||||
basePath="/net/ci-files01-hki.intra.qt.io/hdd/www/input/android"
|
||||
|
||||
toolsVersion="r26.1.1"
|
||||
toolsVersion="2.1"
|
||||
# toolsFile dertermines tools version
|
||||
toolsFile="sdk-tools-darwin-4333796.zip"
|
||||
toolsFile="commandlinetools-mac-6609375_latest.zip"
|
||||
|
||||
ndkVersion="r20"
|
||||
ndkVersion="r21d"
|
||||
ndkFile="android-ndk-$ndkVersion-darwin-x86_64.zip"
|
||||
sdkBuildToolsVersion="28.0.3"
|
||||
# this is compile sdk version
|
||||
@@ -71,8 +71,11 @@ sudo chown -R qt:wheel "$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 '^\[[ =]*\]'"
|
||||
|
||||
sudo mkdir "$sdkTargetFolder/cmdline-tools"
|
||||
sudo mv "$sdkTargetFolder/tools" "$sdkTargetFolder/cmdline-tools"
|
||||
|
||||
echo "Running SDK manager for platforms;$sdkApiLevel, platform-tools and build-tools;$sdkBuildToolsVersion."
|
||||
(echo "y"; echo "y") | "$sdkTargetFolder/tools/bin/sdkmanager" \
|
||||
(echo "y"; echo "y") | "$sdkTargetFolder/cmdline-tools/tools/bin/sdkmanager" "--sdk_root=$sdkTargetFolder" \
|
||||
"platforms;$sdkApiLevel" "platform-tools" "build-tools;$sdkBuildToolsVersion" \
|
||||
| eval $sdkmanager_no_progress_bar_cmd
|
||||
|
||||
|
||||
Reference in New Issue
Block a user