Merge branch 'master' of github.com:agoda-com/docker-emulator-android
This commit is contained in:
8
Makefile
8
Makefile
@@ -4,10 +4,10 @@ VERSIONS = android-16 android-17 android-18 android-19 android-21 android-22 and
|
||||
generate:
|
||||
for version in $(VERSIONS); do \
|
||||
mkdir -p ./build/$$version ; \
|
||||
sed "s/{{ platform }}/$$version/" templates/Dockerfile > build/$$version/Dockerfile ; \
|
||||
sed "s/{{ platform }}/$$version/" templates/config.ini > build/$$version/config.ini ; \
|
||||
sed "s/{{ platform }}/$$version/" templates/start.sh > build/$$version/start.sh ; \
|
||||
sed "s/{{ platform }}/$$version/" templates/Makefile > build/$$version/Makefile ; \
|
||||
sed "s/{{ platform }}/$$version/g" templates/Dockerfile > build/$$version/Dockerfile ; \
|
||||
sed "s/{{ platform }}/$$version/g" templates/config.ini > build/$$version/config.ini ; \
|
||||
sed "s/{{ platform }}/$$version/g" templates/start.sh > build/$$version/start.sh ; \
|
||||
sed "s/{{ platform }}/$$version/g" templates/Makefile > build/$$version/Makefile ; \
|
||||
cp base/* ./build/$$version ; \
|
||||
done
|
||||
|
||||
|
||||
33
README.md
Normal file
33
README.md
Normal file
@@ -0,0 +1,33 @@
|
||||
[](https://travis-ci.org/agoda-com/docker-emulator-android)
|
||||
[]()
|
||||
[]()
|
||||
|
||||
# docker-emulator-android
|
||||
docker-emulator-android is one of the components of [android-farm](https://github.com/agoda-com/android-farm). It runs android emulator with hardware acceleration in a container.
|
||||
|
||||
# Features
|
||||
- Compatible with [OpenSTF](https://openstf.io)
|
||||
- Optimized for performance
|
||||
- hardware acceleration using KVM
|
||||
- QEMU 2
|
||||
- Changing emulator spec is supported by
|
||||
- overriding config.ini variables using `ANDROID_CONFIG`
|
||||
- overriding emulator cmd args using `EMULATOR_OPTS` and `QEMU_OPTS`
|
||||
- overriding adb ports using `CONSOLE_PORT (default 5554)`, `ADB_PORT (default 5555)`
|
||||
- VNC server (port 5900)
|
||||
- Google API's enabled
|
||||
|
||||
# Usage
|
||||
For example to run default emulator options with Marshmallow (API 23):
|
||||
```console
|
||||
$ docker run --rm --privileged -e ANDROID_ARCH="x86" -v /dev/kvm:/dev/kvm agoda-com/docker-emulator-android-23:latest
|
||||
$ adb connect VIP:5555
|
||||
```
|
||||
|
||||
If you want to start different configuration of device, for example a 7 inch tablet, you need to override `config.ini` variables:
|
||||
|
||||
```console
|
||||
$ docker run --rm --privileged -e ANDROID_ARCH="x86" -e ANDROID_CONFIG="skin.name=600x1024;hw.lcd.density=160;hw.lcd.height=600;hw.lcd.width=1024;hw.device.name=7in WSVGA (Tablet);avd.ini.displayname=7 WSVGA (Tablet) API 23;" -v /dev/kvm:/dev/kvm agoda-com/docker-emulator-android-23:latest
|
||||
```
|
||||
|
||||
For all the options available please check the [official documentation](https://developer.android.com/studio/run/emulator-commandline.html)
|
||||
@@ -27,13 +27,14 @@ RUN dpkg --add-architecture i386 && \
|
||||
|
||||
# Install Android SDK
|
||||
curl -L $LINK_ANDROID_SDK > /tmp/android-sdk-linux.zip && \
|
||||
unzip /tmp/android-sdk-linux.zip -d /opt/android-sdk-linux/ && \
|
||||
unzip -q /tmp/android-sdk-linux.zip -d /opt/android-sdk-linux/ && \
|
||||
rm /tmp/android-sdk-linux.zip && \
|
||||
|
||||
# Customized steps per specific platform
|
||||
yes | sdkmanager --no_https --licenses && \
|
||||
sdkmanager --no_https emulator tools platform-tools "platforms;{{ platform }}" "system-images;{{ platform }};google_apis;x86" --verbose && \
|
||||
echo no | avdmanager create avd -n "x86" --package "system-images;{{ platform }};google_apis;x86" --tag google_apis && \
|
||||
|
||||
# Unfilter devices (now local because CI downloads from github are unstable)
|
||||
# curl -o /root/.android/adb_usb.ini https://raw.githubusercontent.com/apkudo/adbusbini/master/adb_usb.ini && \
|
||||
|
||||
|
||||
Reference in New Issue
Block a user