3

我正在尝试设置 Jenkins UI 测试,但在运行模拟器命令时失败,该命令已从android sdk 工具更新之一{$ANDROID_SDK}/tools/emulator移至。{$ANDROID_SDK}/emulator/emulator

我不知道为什么:Android Emulator Plugin 是 3.0 版,应该已经使用了 emulator/emulator 路径。詹金斯版 2.204.1

[android] Erasing existing emulator data...
$ /var/lib/android/tools/emulator -ports 5724,5725 -report-console tcp:5825,max=60 -avd pixel-2-api28 -wipe-data -no-window
FATAL: Cannot run program "/var/lib/android/tools/emulator": error=2, No such file or directory
java.io.IOException: error=2, No such file or directory

我错过了什么吗?

4

1 回答 1

0

我正在回答我自己的问题 - Android Emulator Plugin 3.0 无法与新的“仅限命令行工具”sdk 包一起使用是一个问题。我在我的构建服务器上使用了它,与完整的 Android Studio 包相比,这听起来像是构建服务器的选择。

问题在于插件如何检查工具版本控制,它会查找Pkg.Revision文件 {$ANDROID_SDK}/tools/source.properties 中命名的属性。

对于“命令行工具”,它看起来像这样:

Pkg.Revision=1.0
Pkg.Path=cmdline-tools;1.0
Pkg.Desc=Android SDK Command-line Tools

对于早期的 sdks,它看起来像这样:

Pkg.UserSrc=false
Pkg.Revision=26.1.1
Platform.MinPlatformToolsRev=20
Pkg.Dependencies=emulator
Pkg.Path=tools
Pkg.Desc=Android SDK Tools

该插件检查版本是否高于 25.3 ( AndroidSdk.java:161 ),这对于命令行工具显然不是。

我会发布一个错误报告,如果我能找到解决方法,我会在这里更新。

于 2020-04-02T11:52:46.340 回答