Split Common folder based on operating system families
[mirror/qt/qt5.git] / coin / provisioning / qtci-windows-7-x86 / 06-android.ps1
1 . "$PSScriptRoot\..\common\windows\helpers.ps1"
2
3 # This script installs Android sdk and ndk
4 # It also runs update for SDK API level 18, latest SDK tools, latest platform-tools and build-tools version $sdkBuildToolsVersion
5 # Android 16 is the minimum requirement for Qt 5.7 applications, but we need something more recent than that for building Qt itself.
6 # E.g the bluetooth features that require Android 18 will disable themselves dynamically when running on Android 16 device.
7 # That's why we need to use Andoid-18 API version and decision was made to use it also with Qt 5.6.
8
9 # NDK
10 $ndkVersion = "r10e"
11 $ndkCachedUrl = "\\ci-files01-hki.intra.qt.io\provisioning\android\android-ndk-$ndkVersion-windows-x86.zip"
12 $ndkOfficialUrl = "https://dl.google.com/android/repository/android-ndk-$ndkVersion-windows-x86.zip"
13 $ndkChecksum = "1d0b8f2835be741f3048fb03c0a3e9f71ab7f357"
14 $ndkFolder = "c:\utils\android-ndk-$ndkVersion"
15 $ndkZip = "c:\Windows\Temp\android_ndk_$ndkVersion.zip"
16
17 # SDK
18 $sdkVersion = "r24.4.1"
19 $sdkApi = "ANDROID_API_VERSION"
20 $sdkApiLevel = "android-18"
21 $sdkBuildToolsVersion = "23.0.3"
22 $sdkCachedUrl= "\\ci-files01-hki.intra.qt.io\provisioning\android\android-sdk_$sdkVersion-windows.zip"
23 $sdkOfficialUrl = "https://dl.google.com/android/android-sdk_$sdkVersion-windows.zip"
24 $sdkChecksum = "66b6a6433053c152b22bf8cab19c0f3fef4eba49"
25 $sdkFolder = "c:\utils\android-sdk-windows"
26 $sdkZip = "c:\Windows\Temp\android_sdk_$sdkVersion.zip"
27
28 function Install($1, $2, $3, $4) {
29     $cacheUrl = $1
30     $zip = $2
31     $checksum = $3
32     $offcialUrl = $4
33
34     Download $offcialUrl $cacheUrl $zip
35     Verify-Checksum $zip "$checksum"
36     Extract-Zip $zip C:\Utils
37 }
38
39 function SdkUpdate ($1, $2) {
40     echo "Running Android SDK update for $1..."
41     cmd /c "echo y |$1\tools\android update sdk --no-ui --all --filter $2"
42 }
43
44 echo "Installing Android ndk $nkdVersion"
45 Install $ndkCachedUrl $ndkZip $ndkChecksum $ndkOfficialUrl
46 echo "Set environment variable ANDROID_NDK_HOME=$ndkFolder"
47 [Environment]::SetEnvironmentVariable("ANDROID_NDK_HOME", $ndkFolder, "Machine")
48 echo "Set environment variable ANDROID_NDK_ROOT=$ndkFolder"
49 [Environment]::SetEnvironmentVariable("ANDROID_NDK_ROOT", $ndkFolder, "Machine")
50
51 #echo "Installing Android sdk $sdkVersion"
52 Install $sdkCachedUrl $sdkZip $sdkChecksum $sdkOfficialUrl
53 echo "Set environment variable ANDROID_SDK_HOME=$sdkFolder"
54 [Environment]::SetEnvironmentVariable("ANDROID_SDK_HOME", $sdkFolder, "Machine")
55 echo "Set environment variable ANDROID_API_VERSION $sdkApiLevel"
56 [Environment]::SetEnvironmentVariable("ANDROID_API_VERSION", $sdkApiLevel, "Machine")
57
58 # SDK update
59 SdkUpdate $sdkFolder $sdkApiLevel
60 SdkUpdate $sdkFolder tools
61 SdkUpdate $sdkFolder platform-tools
62 SdkUpdate $sdkFolder build-tools-$sdkBuildToolsVersion
63
64 # kill adb. This process prevent's provisioning to continue
65 taskkill /im adb.exe /f