无头Linux 64位。 Jenkins正在尝试创建Android模拟器,但失败了这些设置:
[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 / x86
我正在尝试创建这样的设备,因为我需要Google Play服务。 我能够使用以下设置创建和运行模拟器:
[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'
但是这个模拟器不支持Google Play服务(谷歌地图更具体),所以我不想要它。
答案 0 :(得分:1)
我找到了临时解决方法:
使用Android AVD管理器在本地创建相同的设备(我在个人笔记本电脑上做了一个MAC)。
然后将此新创建的设备复制到Linux服务器/var/lib/jenkins/.android/avd/
文件夹(.ini
和.avd
文件夹)。
它有效,也支持谷歌地图。
答案 1 :(得分:1)
我在Mac book pro 13",macOS Sierra中遇到过类似的问题;版本10.12.3。我删除了系统环境变量的位置到android sdk&我之前添加了gradle。当我使用system environment variables
构建它时;詹金斯下载了sdk&它没有失败。
您也可以参考书籍Expert Android Studio by Murat Yener, Onur Dundar
第10章:持续整合;他们展示了如何在詹金斯的基础上建立。