2 jzdzhiyun jzdzhiyun 于 2014.08.17 11:39 提问

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。

9个回答

q315099997
q315099997   2015.09.17 15:23

在manifest里加上shell的权限

u013129052
u013129052   2015.05.26 15:27

用命令行执行是可以的 不过要在线程中调用 比如
new Thread(new Runnable() {
@Override
public void run() {

                 String cmdText = " uiautomator runtest AutoRunner.jar  -c dowork.com.Runner.AutoRunner";
                 CmdUtil.execCmd(cmdText);
              }
         }).start();
wtucel
wtucel   2015.06.12 09:22

同问,我是报的这个错误,有懂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

p522947409
p522947409 这个貌似需要系统权限
5 个月之前 回复
yaoyeyzq
yaoyeyzq 我也遇到这个问题了,兄弟你解决没?
6 个月之前 回复
whl_vip
whl_vip   2015.08.13 12:22

这个要使用root用户执行,推荐在github找shellutil工具包,使用里面的execCommand

zengjinping41102
zengjinping41102   2014.12.14 13:01

请问楼主,这个问题有解决方法吗?

CodingFarmers
CodingFarmers   2015.05.16 15:12

楼主,同求解决方案,请指教谢谢!!!

a568690944
a568690944   2015.08.17 09:56

楼主,同求解决方案,请指教谢谢!!!

miniminifox
miniminifox   2017.02.08 15:57

am start -n com.tencent.mm/com.tencent.mm.ui.LauncherUI-->su -c am start -n com.tencent.mm/com.tencent.mm.ui.LauncherUI
解决问题 但需要root授权

wji1996
wji1996   2017.07.27 10:37

要root 然后在manifest加android:sharedUserId="android.uid.system" 然后用系统对应的platform.x509.pem和platform.pk8给apk签名 应该就可以了

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!