Ich verwende Circle.ci, um meinen Code auf einem Emulator zu testen.Android AVD mit Google Play Services auf Circle.ci
Ich habe einige Espresso-Tests, die Karten und Orte api von Google verwenden. Diese Tests arbeiten nicht mit dem Emulator von circle.ci gegeben
Also habe ich versucht, meine eigenen zu tun, in den circle.yml
machine:
environment:
PATH: "~/$CIRCLE_PROJECT_REPONAME/gradle-2.9/bin:$PATH"
TERM: "dumb"
ADB_INSTALL_TIMEOUT: "10"
GRADLE_OPTS: '-Dorg.gradle.jvmargs="-Xmx2048m -XX:+HeapDumpOnOutOfMemoryError"'
dependencies:
pre:
- android list targets
- wget "https://services.gradle.org/distributions/gradle-2.9-bin.zip"; unzip gradle-2.9-bin.zip
- android list sdk -a -e
- echo y | android update sdk --no-ui --all --filter build-tools-23.0.2
- echo y | android update sdk --no-ui --all --filter tool,android-22,extra-android-m2repository,extra-android-support,extra-google-google_play_services,extra-google-m2repository,addon-google_apis-google-22
- echo y | android update sdk --no-ui --all --filter sys-img-armeabi-v7a-google_apis-22
test:
override:
- echo no | android create avd -n avd22 -t 12 --abi google_apis/armeabi-v7a
- emulator -avd avd22 -no-audio -no-window:
background: true
parallel: true
Leider, auch ich, wenn ich android update sdk --no-ui --all --filter sys-img-armeabi-v7a-google_apis-22
laufen, wenn ich ein android list target
es scheint, dass mein Bild nicht availble ist:
id: 12 or "Google Inc.:Google APIs:22"
Name: Google APIs
Type: Add-On
Vendor: Google Inc.
Revision: 1
Description: Android + Google APIs
Based on Android 5.1.1 (API level 22)
Libraries:
* com.google.android.media.effects (effects.jar)
Collection of video effects
* com.android.future.usb.accessory (usb.jar)
API for USB Accessories
* com.google.android.maps (maps.jar)
API for Google Maps
Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, WXGA720, WXGA800, WXGA800-7in
Tag/ABIs : no ABIs.
Wenn jemand eine Lösung hat einen Emulator auf circle.ci mit Play-Diensten zu verwenden, wäre es für mich wirklich nützlich sein ...
Ich habe dies so gut funktioniert, aber haben jetzt ein Problem, bei dem ein Dialog blockiert die UI. Es besagt, dass der Emulator aktualisierte Google Play-Dienste benötigt, die Aktualisierung jedoch nicht funktioniert. Ich frage mich, ob Sie auch dieses Problem haben und ob Sie eine Lösung haben –