blob: 49038786b761470fd7165dbc7e2bb679a804b1ed (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
#!/bin/sh
if [ "$#" -lt "4" ]; then
echo "usage:"
echo "$0 <android-sdk-path> <sysarch> <directory> <test-path-in-directory>"
exit 1
fi
set -o verbose
set -o errexit
ANDROID_SDK=$1
shift
ANDROID_SYSTEM_IMAGE_ARCH=$1
shift
DIRECTORY=$1
shift
TEST_PATH_IN_DIRECTORY=$1
shift
EMULATOR_PID=''
cleanup() {
kill $EMULATOR_PID
wait $EMULATOR_PID
$ANDROID_SDK/tools/bin/avdmanager delete avd -n android_avd
}
trap cleanup EXIT
# create a virtual device
echo no | $ANDROID_SDK/tools/bin/avdmanager create avd --force -k "system-images;android-24;google_apis;$ANDROID_SYSTEM_IMAGE_ARCH" --name android_avd --abi google_apis/$ANDROID_SYSTEM_IMAGE_ARCH -p android_avd
# start the device on the emulator
$ANDROID_SDK/emulator/emulator @android_avd -no-window -no-audio &
EMULATOR_PID=$!
#wait for the adb service to be ready for commands
$ANDROID_SDK/platform-tools/adb wait-for-device
#have the adb service become root
$ANDROID_SDK/platform-tools/adb root
#move the test to the device
$ANDROID_SDK/platform-tools/adb push $DIRECTORY /data
#run the device
$ANDROID_SDK/platform-tools/adb shell /data/$(basename $DIRECTORY)/$TEST_PATH_IN_DIRECTORY "$@"
|