首先,我假设问题是由于 Jenkins 没有写入 Android Emulator 的权限。所以这可能是我想知道的第一件事。但这是我正在做的事情的背景,还请注意,所有这些在 Jenkins 之外都可以正常工作。需要注意的另一件事是我已将 Jenkins 设置为作为服务运行。
我有一份在 Jenkins 中运行的工作 PULL_SCREENSHOT 安装应用程序并在 Android 模拟器上运行一些测试,正如我所说的我正在使用适用于 Jenkins 的 Android 模拟器插件。在 Jenkins 作业的模拟器配置部分,我使用的是使用 ADB.exe 创建的现有设备。我遇到的问题是测试应该使用此代码创建一个屏幕截图目录。
final String path = Environment.getExternalStorageDirectory()+ "/screenshots/";
File dir = new File(path);
if (!dir.exists())
{
dir.mkdirs();
}
但是这个目录没有创建,我查看了文件系统,看看它是否出现在与正常不同的地方,但没有运气。
这是来自 Jenkins 控制台的错误。
*\users\jamiemirl.jenkins\jobs\PULL_SCREENSHOTS\workspace>adb pull /sdcard/screenshots c:/screenshots/ 远程对象 '/sdcard/screenshots' 不存在 \users.jenkins\jobs\PULL_SCREENSHOTS\workspace>exit 1 Build步骤“执行 Windows 批处理命令”将构建标记为失败已完成:FAILURE*