2016-05-12 37 views
5

Bezgłowy system Linux w wersji 64-bitowej. Jenkins próbuje stworzyć android emulator ale nie z tymi ustawieniami:Nie można utworzyć emulatora Androida: nie udało się zanalizować pliku konfiguracyjnego AVD

[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 

próbował również inne ABI dla samego urządzenia: armeabi_v7 i google_apis/x86

Staram się tworzyć tego urządzenia tak, bo muszę Google Usługi Play. byłem w stanie stworzyć i uruchomić emulator z następującymi ustawieniami:

[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' 

Ale ten emulator nie obsługuje usługi Google Play (Google Maps, aby być bardziej szczegółowe), więc nie chcę go.

+0

Czy jest jakiś sposób, żeby go debugować – Gert

Odpowiedz

1

znalazłem tymczasowe obejście że:

utworzenia tego samego urządzenia lokalnie (zrobiłem to na moim osobistym laptopie, Mac) z menedżera Android AVD. Następnie skopiuj to nowo utworzone urządzenie do folderu Linux server /var/lib/jenkins/.android/avd/ (folder .ini i .avd).

To zadziałało, również obsługiwane są Mapy Google.

+1

jak o ile wiem, prawdziwy problem polega na tym, że Jenkins działa jako usługa i jako se rvice nie może uruchamiać narzędzi sdk. Próbuję dowiedzieć się, jak pozwolić jenkins działać jako użytkownik lub dać dostęp, aby mógł. Czy znalazłeś lepszy sposób? Chcę, żeby moje kompilacje były całkowicie zautomatyzowane i nie kazałem mi tworzyć urządzenia za każdym razem. –

+0

Utknąłem z tym przez długi czas. Dzięki! – Hadi

+0

@Gert mam już tych plików: $ 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

Miałem do czynienia z podobnym problemem w Mac book pro 13 ", macOS Sierra, wersja 10.12.3. Usunąłem zmienne środowiskowe systemu dla lokalizacji do androida sdk & gradle wcześniej, które dodałem. Kiedy zbudowałem go z system environment variables; Jenkins pobraniu SDK & działać bezawaryjnie

można również odwołać się do książki Expert Android Studio by Murat Yener, Onur Dundar rozdział 10:..? ciągłe integracji; gdzie pokazał, jak zbudować na Jenkins