问题描述
- uiautomator 命令如何 在 android 中调用
-
在cmd中运行
adb push F:***AutoRunner.jar data/local/tmp/AutoRunner.jar
adb shell uiautomator runtest AutoRunner.jar -c com.Runner.AutoRunner
能正常运行,手机上(android4.1.2)也有效果。但是我想在一个安卓应用上(比如一个按钮隐藏当前应用后运行)调用adb shell uiautomator runtest ...命令。
运行:
Runtime.getRuntime().exec("am start -n com.tencent.mm/com.tencent.mm.ui.LauncherUI")
能正常打开微信。但是运行下面的语句,没有任何效果:
Runtime.getRuntime().exec("uiautomator runtest data/local/tmp/AutoRunner.jar -c com.Runner.AutoRunner")大家有没有办法(其他办法也行),在安卓中触发uiautomator。
解决方案
用命令行执行是可以的 不过要在线程中调用 比如
new Thread(new Runnable() {
@Override
public void run() {
String cmdText = " uiautomator runtest AutoRunner.jar -c dowork.com.Runner.AutoRunner";
CmdUtil.execCmd(cmdText);
}
}).start();
解决方案二:
在manifest里加上shell的权限
解决方案三:
同问,我是报的这个错误,有懂Android开发大牛能帮忙解决一下吗?
09:26:02.898: E/UiAutomatorTestRunner(7071): java.lang.SecurityException: You do not have android.permission.RETRIEVE_WINDOW_CONTENT required to call registerUiTestAutomationService from pid=7071, uid=10156
解决方案四:
请问楼主,这个问题有解决方法吗?
解决方案五:
楼主,同求解决方案,请指教谢谢!!!
解决方案六:
这个要使用root用户执行,推荐在github找shellutil工具包,使用里面的execCommand
解决方案七:
楼主,同求解决方案,请指教谢谢!!!