如何从CI的服务帐户访问Android虚拟设备(AVD)?

时间:2013-08-14 16:19:02

标签: android android-emulator jenkins avd android-emulator-plugin

previous questions中所述,众所周知,Android虚拟设备默认保存在路径Documents and Settings\user\.android中。目前我有一个Jenkins构建服务器,它将Jenkins进程作为系统帐户运行。使用Android Emulator Plugin用于Jenkins时,如果我尝试通过“AVD名称”选择模拟器,我将无法访问我在用户帐户下设置的AVD设备,我将其称为myUserAccount。所以AVD设备目前保存在 C:\Users\myUserAccount\.android\avd\x86NexusS我将收到一个异常,说明系统无法在系统路径下找到avd:

FATAL: C:\WINDOWS\system32\config\systemprofile\.android\avd\x86NexusS.ini (The system cannot find the path specified)

有几种方法可以解决这个问题:

  1. (首选)找到一种方法来访问在系统帐户下myUserAccount下创建的AVD? **有没有人知道如何做到这一点? **
  2. 以某种方式将我的用户切换到“系统”帐户以创建AVD配置文件?
  3. (最糟糕的情况)运行Jenkins构建过程作为myUserAccount - 如果其他用户想要更改构建服务器,这是kludgy并且不可扩展。

1 个答案:

答案 0 :(得分:2)

AVD默认搜索ANDROID_SDK_HOME下的设备,指向%HOME%。您可以通过创建指向ANDROID_SDK_HOME的{​​{1}} jenkins环境变量,让jenkins找到您现有的设备配置。

但是我觉得这有点脆弱,我可能会让你的用户和jenkins使用第三方位置(例如C:\Users\myUserAccount)来存储这些文件。