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/tools_r25.2.5-linux.zip -O
23unzip -d sdk tools_r25.2.5-linux.zip
24
25filter="platform-tools,android-24"
26
27case "$1" in
28  arm | armv7)
29    abi=armeabi-v7a
30    ;;
31
32  aarch64)
33    abi=arm64-v8a
34    ;;
35
36  i686)
37    abi=x86
38    ;;
39
40  x86_64)
41    abi=x86_64
42    ;;
43
44  *)
45    echo "invalid arch: $1"
46    exit 1
47    ;;
48esac;
49
50filter="$filter,sys-img-$abi-android-24"
51
52./android-accept-licenses.sh "android - update sdk -a --no-ui --filter $filter --no-https"
53
54echo "no" | android create avd \
55                --name $1 \
56                --target android-24 \
57                --abi $abi
58