#!/usr/bin/env sh # Copyright 2016 The Rust Project Developers. See the COPYRIGHT # file at the top-level directory of this distribution and at # http://rust-lang.org/COPYRIGHT. # # Licensed under the Apache License, Version 2.0 or the MIT license # , at your # option. This file may not be copied, modified, or distributed # except according to those terms. set -ex # Prep the SDK and emulator # # Note that the update process requires that we accept a bunch of licenses, and # we can't just pipe `yes` into it for some reason, so we take the same strategy # located in https://github.com/appunite/docker by just wrapping it in a script # which apparently magically accepts the licenses. mkdir sdk curl --retry 10 https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip -O unzip -d sdk sdk-tools-linux-3859397.zip case "$1" in arm | armv7) abi=armeabi-v7a ;; aarch64) abi=arm64-v8a ;; i686) abi=x86 ;; x86_64) abi=x86_64 ;; *) echo "invalid arch: $1" exit 1 ;; esac; # See: https://stackoverflow.com/a/51644855/1422197 export JAVA_OPTS='-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee' # --no_https avoids # javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: No trusted certificate found yes | ./sdk/tools/bin/sdkmanager --licenses --no_https yes | ./sdk/tools/bin/sdkmanager --no_https \ "emulator" \ "platform-tools" \ "platforms;android-24" \ "system-images;android-24;default;$abi" echo "no" | ./sdk/tools/bin/avdmanager create avd \ --name "${1}" \ --package "system-images;android-24;default;$abi"