12add0d91Sopenharmony_ci#!/usr/bin/env sh 22add0d91Sopenharmony_ci 32add0d91Sopenharmony_ciset -ex 42add0d91Sopenharmony_ci 52add0d91Sopenharmony_ci# Prep the SDK and emulator 62add0d91Sopenharmony_ci# 72add0d91Sopenharmony_ci# Note that the update process requires that we accept a bunch of licenses, and 82add0d91Sopenharmony_ci# we can't just pipe `yes` into it for some reason, so we take the same strategy 92add0d91Sopenharmony_ci# located in https://github.com/appunite/docker by just wrapping it in a script 102add0d91Sopenharmony_ci# which apparently magically accepts the licenses. 112add0d91Sopenharmony_ci 122add0d91Sopenharmony_ciSDK=6609375 132add0d91Sopenharmony_cimkdir -p sdk/cmdline-tools 142add0d91Sopenharmony_ciwget -q --tries=20 https://dl.google.com/android/repository/commandlinetools-linux-${SDK}_latest.zip 152add0d91Sopenharmony_ciunzip -q -d sdk/cmdline-tools commandlinetools-linux-${SDK}_latest.zip 162add0d91Sopenharmony_ci 172add0d91Sopenharmony_cicase "$1" in 182add0d91Sopenharmony_ci arm | armv7) 192add0d91Sopenharmony_ci api=24 202add0d91Sopenharmony_ci image="system-images;android-${api};default;armeabi-v7a" 212add0d91Sopenharmony_ci ;; 222add0d91Sopenharmony_ci aarch64) 232add0d91Sopenharmony_ci api=24 242add0d91Sopenharmony_ci image="system-images;android-${api};google_apis;arm64-v8a" 252add0d91Sopenharmony_ci ;; 262add0d91Sopenharmony_ci i686) 272add0d91Sopenharmony_ci api=28 282add0d91Sopenharmony_ci image="system-images;android-${api};default;x86" 292add0d91Sopenharmony_ci ;; 302add0d91Sopenharmony_ci x86_64) 312add0d91Sopenharmony_ci api=28 322add0d91Sopenharmony_ci image="system-images;android-${api};default;x86_64" 332add0d91Sopenharmony_ci ;; 342add0d91Sopenharmony_ci *) 352add0d91Sopenharmony_ci echo "invalid arch: $1" 362add0d91Sopenharmony_ci exit 1 372add0d91Sopenharmony_ci ;; 382add0d91Sopenharmony_ciesac; 392add0d91Sopenharmony_ci 402add0d91Sopenharmony_ci# Try to fix warning about missing file. 412add0d91Sopenharmony_ci# See https://askubuntu.com/a/1078784 422add0d91Sopenharmony_cimkdir -p /root/.android/ 432add0d91Sopenharmony_ciecho '### User Sources for Android SDK Manager' >> /root/.android/repositories.cfg 442add0d91Sopenharmony_ciecho '#Fri Nov 03 10:11:27 CET 2017 count=0' >> /root/.android/repositories.cfg 452add0d91Sopenharmony_ci 462add0d91Sopenharmony_ci# Print all available packages 472add0d91Sopenharmony_ci# yes | ./sdk/tools/bin/sdkmanager --list --verbose 482add0d91Sopenharmony_ci 492add0d91Sopenharmony_ci# --no_https avoids 502add0d91Sopenharmony_ci# javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: No trusted certificate found 512add0d91Sopenharmony_ci# 522add0d91Sopenharmony_ci# | grep -v = || true removes the progress bar output from the sdkmanager 532add0d91Sopenharmony_ci# which produces an insane amount of output. 542add0d91Sopenharmony_ciyes | ./sdk/cmdline-tools/tools/bin/sdkmanager --licenses --no_https | grep -v = || true 552add0d91Sopenharmony_ciyes | ./sdk/cmdline-tools/tools/bin/sdkmanager --no_https \ 562add0d91Sopenharmony_ci "platform-tools" \ 572add0d91Sopenharmony_ci "platforms;android-${api}" \ 582add0d91Sopenharmony_ci "${image}" | grep -v = || true 592add0d91Sopenharmony_ci 602add0d91Sopenharmony_ci# The newer emulator versions (31.3.12 or higher) fail to a valid AVD and the test gets stuck. 612add0d91Sopenharmony_ci# Until we figure out why, we use the older version (31.3.11). 622add0d91Sopenharmony_ciwget -q --tries=20 https://redirector.gvt1.com/edgedl/android/repository/emulator-linux_x64-9058569.zip 632add0d91Sopenharmony_ciunzip -q -d sdk emulator-linux_x64-9058569.zip 642add0d91Sopenharmony_ci 652add0d91Sopenharmony_cicp /android/android-emulator-package.xml /android/sdk/emulator/package.xml 662add0d91Sopenharmony_ci 672add0d91Sopenharmony_ciecho "no" | 682add0d91Sopenharmony_ci ./sdk/cmdline-tools/tools/bin/avdmanager create avd \ 692add0d91Sopenharmony_ci --name "${1}" \ 702add0d91Sopenharmony_ci --package "${image}" | grep -v = || true 712add0d91Sopenharmony_ci 722add0d91Sopenharmony_cirm -rf commandlinetools-linux-${SDK}_latest.zip emulator-linux_x64-9058569.zip 73