无法创建Android模拟器:无法解析AVD配置文件

问题描述:

无头Linux 64位。詹金斯试图创建Android模拟器,但无法使用这些设置:无法创建Android模拟器:无法解析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 

也试过其他ABI对同一设备:armeabi_v7和google_apis/86

我想是因为我需要谷歌创建这个设备一样,播放服务。 我能够创建和使用以下设置运行模拟器:

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

但这仿真器不支持谷歌播放服务(谷歌地图更具体的),所以我不希望它。

+0

有没有办法对其进行调试 – Gert

我发现对于暂时的解决办法:

与Android AVD管理器中创建本地同一设备(我做这件事是我个人的笔记本电脑,MAC)。 然后将此新创建的设备复制到Linux服务器/var/lib/jenkins/.android/avd/文件夹(.ini.avd文件夹)。

它的工作,也支持谷歌地图。

+1

作为就我所知,真正的问题在于Jenkins作为一种服务和一种服务服务器无法运行sdk工具。试图找出如何让詹金斯以用户身份运行或提供访问权限,以便它可以。你有没有找到更好的方法?我喜欢我的构建完全自动化,而不是每次都创建一个设备。 –

+0

长期以来一直困在这里。谢谢! – Hadi

+0

@Gert我已经有这些文件:$ 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 –

我曾在Mac book pro 13中遇到类似的问题,macOS Sierra;版本10.12.3。我删除了系统环境变量的位置,以前我添加了这个系统环境变量,当我使用system environment variables;詹金斯下载SDK &它运行无故障

您也可以参考本书Expert Android Studio by Murat Yener, Onur Dundar第10章:?持续集成,在那里他们展示了如何构建对詹金斯