2016-05-12 12 views
5

Headless Linux 64-Bit. Jenkins versucht android Emulator zu schaffen, aber nicht mit diesen Einstellungen:Konnte Android-Emulator nicht erstellen: Fehler beim Parsen der AVD-Konfigurationsdatei

[android] Using Android SDK: /opt/android-sdk-linux 
[android] Creating Android AVD: /var/lib/jenkins/.android/avd/hudson_en-US_120_768x1200_Google_Inc._Google_APIs_23_google_apis-x86.avd 
[android] /opt/android-sdk-linux/tools/android create avd -f -a -s 768x1200 -n hudson_en-US_120_768x1200_Google_Inc._Google_APIs_23_google_apis-x86 -t "Google Inc.:Google APIs:23" --abi google_apis/x86_64 
[android] Could not create Android emulator: Failed to parse AVD config file 

auch versucht, anderes ABI für gleiches Gerät: armeabi_v7 und google_apis/x86

Ich versuche, dieses Gerät so zu erstellen, weil ich Google brauchen Spieldienste. Ich konnte Emulator mit folgenden Einstellungen erstellen und auszuführen:

[android] Using Android SDK: /opt/android-sdk-linux 
[android] /opt/android-sdk-linux/tools/android create avd -f -a -s 768x1200 -n hudson_en-US_120_768x1200_android-23_armeabi-v7a -t android-23 --abi armeabi-v7a 
[android] Creating Android AVD: /var/lib/jenkins/.android/avd/hudson_en-US_120_768x1200_Google_Inc._Google_APIs_23_google_apis-x86.avd 
[android] Starting Android emulator 
$ /opt/android-sdk-linux/tools/emulator -engine classic -ports 5730,5731 -report-console tcp:5847,max=60 -prop persist.sys.language=en -prop persist.sys.country=US -avd hudson_en-US_120_768x1200_android-23_armeabi-v7a -no-snapshot-load -no-snapshot-save -no-window 
[android] Emulator reported that the startup process is 'running' 

Aber dieser Emulator nicht unterstützt Google Play-Dienste (Google Maps genauer zu sein), so dass ich will es nicht.

+0

gibt es eine Möglichkeit, es zu debuggen – Gert

Antwort

1

fand ich vorübergehende Lösung für die:

das gleiche Gerät lokal erstellen (ich habe es auf meinem persönlichen Laptop, ein MAC) mit Android AVD-Manager. Kopieren Sie dann dieses neu erstellte Gerät zum Linux-Server /var/lib/jenkins/.android/avd/ Ordner (.ini und .avd Ordner).

Und es hat funktioniert, auch Google Maps wird unterstützt.

+1

wie Soweit ich weiß, liegt das eigentliche Problem darin, dass Jenkins als Service und als Se läuft rvice kann die SDK-Tools nicht ausführen. Versuchen herauszufinden, wie man jenkins als Benutzer laufen lassen oder Zugang geben kann, so dass es möglich ist. Hast du einen besseren Weg gefunden? Ich möchte, dass meine Builds vollständig automatisiert sind und ich nicht jedes Mal ein Gerät erstellen muss. –

+0

War lange damit fest. Vielen Dank! – Hadi

+0

@Gert Ich habe bereits jene Datei: $ ls /var/lib/jenkins/.android/avd/ hudson_de-DE_160_HVGA_android-18_armeabi-v7a.avd hudson_en-US_240_WVGA_android-24_armeabi-v7a_mySuffix.avd hudson_de-DE_160_HVGA_android-18_armeabi-V7A ini hudson_en-US_240_WVGA_android-24_armeabi-v7a_mySuffix.ini hudson_de-DE_160_HVGA_android-7.avd hudson_en-US_240_WVGA_android-24_mySuffix.avd hudson_de-DE_160_HVGA_android-7.ini hudson_en-US_240_WVGA_android-24_mySuffix.ini –

1

ich ähnliches Problem in Mac Buch konfrontiert hatte 13" Pro, macOS Sierra;. Version 10.12.3 ich die Systemumgebungsvariablen für die Lage zu android sdk & gradle gelöscht vorher was ich hinzugefügt, wenn ich es mit system environment variables gebaut. Jenkins heruntergeladen die sdk & es ohne Ausfall

Sie auch auf das Buch Expert Android Studio by Murat Yener, Onur Dundar Kapitel 10 beziehen..? Continuous Integration, wo sie gezeigt, wie man auf Jenkins bauen