请你仔细检查几件事吗?
- 您将测试部署到哪个版本的 Android?UIAutomator 仅在 API 级别 16 或更高版本(Android 4.1 和 4.2)的设备上可用,因此它不应该在 2.3.3 设备上可用。在命令行上运行以下命令以获取安装的 Android 版本:
adb shell grep ro.build.version.sdk= system/build.prop
结果应类似于ro.build.version.sdk=17
Here is a StackOverflow article on getting the version of Android using adb shell Getting Android SDK version of a device from command line
adb shell uiautomator runtest LaunchSettings.jar -c com.uia.example.my.LaunchSettings
运行命令时得到的确切错误消息是什么?
我使用运行 2.3.3(API 级别 10)的 AVD 进行了测试,并运行命令来构建、部署,然后运行来自http://developer.android.com/tools/testing/testing_ui 的 Android 示例中的 UI Automator 测试。 html 我得到的错误信息和你报告的不一样:我得到的uiautomator: not found
不是permission denied
.
uiautomatorviewer
作为建议,当您的设备连接时尝试从命令行运行(您可以使用adb devices
命令检查 - 应该列出您设备的序列号)。当我尝试使用 2.3.3 对 AVD 运行 uiautomatorviewer 时,当我尝试获取屏幕快照时,它明确告诉我“UI Automator 需要具有 API 级别 16 的设备”
所以总而言之,AFAIK 你需要 uiautomator 和运行 API 级别 16 或更高版本的设备。实际上,UI Automator 在 API 级别 16(Android 4.1)上似乎存在问题,并且在运行 Android 4.2.1(API 级别 17)的设备上效果最好。