0

我正在 Windows 平台上开发 Android 应用程序。我可以在本地机器上使用命令行工具成功地创建和构建 android 应用程序而不会出现问题。

我决定使用 Jenkins 远程构建应用程序。我可以成功地创建了一个 Windows 从站并使用命令行工具创建了一个测试应用程序。但是我不能用这个来远程模拟它:

C:\Dev\workspace\com.this.test\cordova\cordova.bat

这条线在本地工作,但如果我在 Jenkins 上使用它,它会产生这个错误。

c:\Dev\jenkins\workspace\buildtest>C:\Dev\workspace\com.this.test\cordova\cordova.bat emulate 
Microsoft (R) Windows Script Host Version 5.8
Copyright (C) Microsoft Corporation. All rights reserved.

You don't have any Android Virtual Devices. Please create at least one AVD.
android
Build step 'Execute Windows batch command' marked build as failure 

编辑: 如果我在本地运行以下命令,

%comspec% /c android.bat list avd

它列出了如下所示的 AVD。

Available Android Virtual Devices:
    Name: ap16
    Path: C:\Users\tt\.android\avd\ap16.avd
  Target: Android 4.1.2 (API level 16)
     ABI: armeabi-v7a
    Skin: WVGA800

但是,如果我通过 Jenkins 发送它,它只会说:

Available Android Virtual Devices:
4

2 回答 2

0

您是否在远程计算机上创建了模拟器?即通过android create avd命令行,或使用SDK Manager 工具。

更简单地说,您还可以安装Android Emulator Plugin来自动处理模拟器的创建。


编辑,在提供更多信息后:

创建的模拟器是每个用户的——它们不是在一台机器的所有用户之间共享的。

假设您正在以不同的用户身份运行 Jenkins,例如通过将 Jenkins 作为 Windows 服务运行的系统用户。因此,当您登录到您的帐户时,它会看到一组不同的模拟器。

我仍然建议使用emulator plugin,以便 Jenkins 可以在需要时创建自己的模拟器(尽管请注意关于作为 Windows 系统帐户运行的“已知问题”)。或者,您可以手动创建模拟器作为 Jenkins 帐户,或将 Jenkins 服务更改为“以”普通用户身份运行。

于 2012-11-10T16:49:01.777 回答
0

尝试安装 Android Emulator 插件,但我也遇到了这个插件的最新版本的问题,并且没有降级的选项。我尝试在 Jenkins 中创建虚拟设备,还尝试使用现有的虚拟设备 - 两种情况下都有错误......

于 2015-07-06T08:47:20.367 回答