1#!/bin/sh
2# Copyright 2016 The Rust Project Developers. See the COPYRIGHT
3# file at the top-level directory of this distribution and at
4# http://rust-lang.org/COPYRIGHT.
5#
6# Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
7# http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
8# <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
9# option. This file may not be copied, modified, or distributed
10# except according to those terms.
11
12set -ex
13
14# Prep the SDK and emulator
15#
16# Note that the update process requires that we accept a bunch of licenses, and
17# we can't just pipe `yes` into it for some reason, so we take the same strategy
18# located in https://github.com/appunite/docker by just wrapping it in a script
19# which apparently magically accepts the licenses.
20
21mkdir sdk
22curl https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip -O
23unzip -d sdk sdk-tools-linux-3859397.zip
24
25case "$1" in
26  arm | armv7)
27    abi=armeabi-v7a
28    ;;
29
30  aarch64)
31    abi=arm64-v8a
32    ;;
33
34  i686)
35    abi=x86
36    ;;
37
38  x86_64)
39    abi=x86_64
40    ;;
41
42  *)
43    echo "invalid arch: $1"
44    exit 1
45    ;;
46esac;
47
48# --no_https avoids
49# javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: No trusted certificate found
50echo "yes" | \
51    ./sdk/tools/bin/sdkmanager --no_https \
52        "emulator" \
53        "platform-tools" \
54        "platforms;android-24" \
55        "system-images;android-24;default;$abi"
56
57echo "no" |
58    ./sdk/tools/bin/avdmanager create avd \
59        --name $1 \
60        --package "system-images;android-24;default;$abi"
61