1#!/usr/bin/env bash
2
3API_LEVEL=$1
4emulator_name="bare-expo"
5ANDROID_SDK_ROOT=${ANDROID_SDK_ROOT:-$ANDROID_HOME}
6
7if $ANDROID_SDK_ROOT/tools/android list avd | grep -q $emulator_name; then
8    echo " ☛  Found an existing an emulator named ${emulator_name}"
9    exit 0;
10fi
11
12if [ $API_LEVEL -eq 21 ]
13then
14    PACKAGE="system-images;android-21;default;x86_64"
15elif [ $API_LEVEL -eq 22 ]
16then
17    PACKAGE="system-images;android-22;default;x86_64"
18elif [ $API_LEVEL -eq 23 ]
19then
20    PACKAGE="system-images;android-23;default;x86_64"
21elif [ $API_LEVEL -eq 24 ]
22then
23    PACKAGE="system-images;android-24;default;x86_64"
24fi
25
26echo " ☛  Downloading the Android image to create an emulator..."
27echo no | $ANDROID_SDK_ROOT/tools/bin/sdkmanager $PACKAGE
28
29echo " ☛  Creating the emulator..."
30echo no | $ANDROID_SDK_ROOT/tools/bin/avdmanager \
31    --verbose \
32    create avd \
33    --force \
34    --name ${emulator_name} \
35    --abi default/x86_64 \
36    --package $PACKAGE \
37    --sdcard 300M
38
39echo " ☛  Configuring the emulator..."
40
41cat >> $HOME/.android/avd/${emulator_name}.avd/config.ini << EOF
42hw.ramSize=2048
43hw.gpu.enabled=yes
44hw.gpu.mode=host
45hw.keyboard=yes
46hw.camera.front=emulated
47hw.camera.back=virtualscene
48hw.cpu.arch=x86_64
49hw.sdCard=yes
50hw.lcd.density=240
51hw.lcd.width=480
52hw.lcd.height=800
53showDeviceFrame=yes
54skin.path=_no_skin
55PlayStore.enabled=false
56abi.type=x86_64
57avd.ini.encoding=UTF-8
58image.sysdir.1=system-images/android-22/default/x86_64/
59tag.id=default
60tag.display=
61EOF
62
63echo " ☛  Emulator created"
64
65