Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 41 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,46 @@
# docker\-android\-vm #
An Android virtual machine (Android7.2-x86) runs in a docker container and supports saving/restoring a state during testing. This is a general framework that powers existing Android testing techniques with time-travel testing.

docker build -t zhendong/3tdroid .
## Publication ##
```
@InProceedings{zhendong:icse:2020,
author = {Zhen Dong, Marcel B\"ohme, Lucia Cojocaru, Abhik Roychoudhury},
titile = {Time-travel Testing of Android Apps},
booktitle = {Proceedings of the 42nd International Conference on Software Engineering},
series = {ICSE '20},
year = {2020}
}

```
## Instructions ##
The framework runs on Ubuntu 16.04 with docker installed.

### build a docker image ###

* git clone https://github.com/DroidTest/docker-android-vm.git
* cd docker-android-vm/docker
* docker build -t droidtest/android7-vm .

### Usage ###
* Launch a vm with GUI (default adb port: 6666)

```
docker run -it --privileged -e DISPLAY=$DISPLAY --net=host -v $HOME/.Xauthority:/root/.Xauthority:rw -v /dev:/dev droidtest/android7-vm /root/docker-android-vm/scripts/launch_vm.sh Android_7 6666 gui
```

* Launch a vm with headless
```
docker run -it --privileged -v /dev:/dev droidtest/android7-vm /root/docker-android-vm/scripts/launch_vm.sh Android_7 6666 headless
```
* Test an app with Monkey in gui modle (delay:100ms, 100 events, $APK=local path of app under test)

```
docker run -it --rm --privileged -e DISPLAY=$DISPLAY --net=host -v $HOME/.Xauthority:/root/.Xauthority:rw -v /dev:/dev -v $APK:/root/aut.apk:ro droidtest/android7-vm /root/docker-android-vm/scripts/run_monkey.sh Android_7 6666 gui 100 100
```
* Save and restore a state after launching a vm

```

```

docker run -it --rm --privileged -e DISPLAY=$DISPLAY --net=host -v $HOME/.Xauthority:/root/.Xauthority:rw -v /dev:/dev -v /home/dz/Android_7_Exper/batch2/Fox_News.apk:/root/aut.apk:ro zhendong/3tdroid /root/3TDroid/scripts/run_monkey.sh Android_7 6666 gui 100 50