Android无法使用“uiautomator:permission denied”错误消息运行UI测试

时间:2013-04-10 12:38:14

标签: android uiautomator

我的环境是:

Android手机:HTC Desired Z

Android版:2.3.3

当我使用网络方法时:http://developer.android.com/tools/testing/testing_ui.html

使用命令“adb shell uiautomator runtest LaunchSettings.jar -c com.uia.example.my.LaunchSettings”运行UI测试

它显示错误消息“uiautomator:permission denied”。

任何朋友告诉我错误的原因???

感谢!〜

1 个答案:

答案 0 :(得分:2)

请你仔细检查几件事吗?

  • 您正在部署测试的哪个版本的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这是关于使用adb shell获取Android版本的StackOverflow文章{{3 }}
  • 运行adb shell uiautomator runtest LaunchSettings.jar -c com.uia.example.my.LaunchSettings命令时,您获得的确切错误消息是什么?

我使用运行2.3.3(API级别10)的AVD进行测试并运行命令来构建,部署然后从Getting Android SDK version of a device from command line的Android示例运行UI Automator测试我得到的错误消息与您报告的那个:我得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)的设备。