skia2/infra/skqp/docker/README.md
Ben Wagner 325778b888 Update android-skqp Docker image to accept licenses
Set DOCKER_CONFIG env var for all docker commands so that the Swarming
task uses the config created here:
https://skia.googlesource.com/buildbot/+/06aaf21b5d91a68de7c02aafc0fdee8531ba0c21/scripts/run_on_swarming_bots/install_docker.py#65

Bug: skia:8698
Change-Id: I731a99abc274caa498af8dde5142a7e6a6b6eca3
Reviewed-on: https://skia-review.googlesource.com/c/185690
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Stephan Altmueller <stephana@google.com>
2019-01-22 23:34:58 +00:00

51 lines
1.5 KiB
Markdown

Docker
======
Docker files to ease working with the Android SDK/NDK and SKQP.
android-skqp
-------------
This image has an Android emulator, the Android SDK and NDK installed on it.
Additionally, it has the dependencies needed to build SKQP - Clang, python, ninja.
It gets manually pushed anytime there's an update to the Dockerfile or relevant
installed libraries.
# This will pause after the "Accept? (y/N)" prompt as it installs the NDK;
# you do not need to hit "y".
docker build -t android-skqp ./android-skqp/
# use v2, v3 for respins; see http://gcr.io/skia-public/android-skqp for
# latest version
ANDROID_SDK_VERSION="8.1_v1"
docker tag android-skqp gcr.io/skia-public/android-skqp:$ANDROID_SDK_VERSION
docker push gcr.io/skia-public/android-skqp:$ANDROID_SDK_VERSION
For testing the image locally, the following flow can be helpful:
docker build -t android-skqp ./android-skqp/
# start an emulator
docker run --privileged -d --name android_em \
-e DEVICE="Samsung Galaxy S6" \
-v $SKIA_ROOT:/SRC \
-v $SKIA_ROOT/out/skqp:/OUT \
android-skqp
# attach to that emulator
docker exec -it android_em /bin/bash
# Compile SKQP
docker run -it --rm -w /SRC/infra/skqp \
-v $SKIA_ROOT:/SRC \
android-skqp ./build_apk.sh
# Run SKQP (can't mount anything with -v here, must do it on
# original docker run)
docker exec -it android_em /SRC/infra/skqp/run_skqp.sh
# Cleanup
docker kill android_em
docker rm android_em