diff --git a/README.md b/README.md index efb5b61..c6def15 100644 --- a/README.md +++ b/README.md @@ -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