android uiautomator-uiautomator 命令如何 在 android 中调用

问题描述

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

解决方案七:

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

时间: 2016-01-04

android uiautomator-uiautomator 命令如何 在 android 中调用的相关文章

不是外部或内部命令-怎么在VS2010中调用telnet命令

问题描述 怎么在VS2010中调用telnet命令 在cmd里运行telnet命令是可以的,但是在VS2010中用system("telnet")就报telnet不是外部或内部命令,怎么解决啊,是需要加头文件吗?还是要什么操作? 解决方案 http://zhidao.baidu.com/link?url=inivT8azOblguY3zFjg_kWJ7TzC3wq59sz90C2mCYOKSQS6yOl6l598ksopK4fyWOmH0XQjH2AU9Vgd4o1jJ2K 解决方案二

Android 官方命令深入分析之Android Debug Bridge(adb)

作者:宋志辉 Android Debug Brideg(adb)是一个多用途的命令行工具.可以与Android虚拟机进行通信或连接真机.它同样提供了访问设备shell的高级命令行操作的权限.它是一个包含以下三部分的客户端-服务端程序: 一个客户端,运行在你的开发设备上.你可以通过adb命令来从shell中调用一个客户端.或者通过ADT插件和DDMS创建adb客户端. 一个服务端,作为一个后台进程运行在你的开发设备中.服务端负责客户端和虚拟机或设备中adb守护进程的通信. 一个守护进程,运行在虚拟

android使用TC命令报错

问题描述 android使用TC命令报错 android使用TC命令报错:RTNETLINK answers: Operation not supported on transport endpoint,这是说android系统不支持TC命令吗?若支持,上述错误如何解决 解决方案 Android AIDL使用报错

c++-BCB 中调用system("netsh use z: \BR") 外部命令

问题描述 BCB 中调用system("netsh use z: \BR") 外部命令 borland C++ Builder 中调用外部命令system("netsh use z: br") 这个双反斜路径要怎么表达啊? 解决方案 路径分割符只有一个斜杠.但是斜杠需要转义,所以在C++里面写就是双斜杠.

i utomator-如何在UiAutomator测试中调用Android服务?

问题描述 如何在UiAutomator测试中调用Android服务? TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE); String imei = telephonyManager.getDeviceId(); 上面代码是安卓工程中 的代码,可以获取手机的IMEI号码,但是怎么在我的UIAutomator测试工程中调用,来获取手机IMEI

android测试-Uiautomator android5.0 SE问题

问题描述 Uiautomator android5.0 SE问题 通过 android apk封装adb shell uiautomator runtest命令 调用uiautomator运行测试 在android 4.4 机器上没有问题 5.0上面会报找不到jar包问题,要么就是什么都不显示也不运行. 注:不是root问题 是SE问题 哪位大神遇到过,求帮助,谢谢!!! 解决方案 是否编译Uiautomator的jar的包的时候引入的Android.jar和Uiautomator.jar的版本

broadcast-有关在android代码中调用adb命令发送通知,没有回调onReceive方法问题

问题描述 有关在android代码中调用adb命令发送通知,没有回调onReceive方法问题 大神们,非常谦虚的请教下问题,是这样,我在终端输入adb shell am broadcast -a testBroadcastReceiver --es packageName "you packageName",可以回调onReceive方法,但是当我把该命令写在代码中,同样执行同样的命令,只是用代码实现,就不会调用onReceive,请帮忙解决下~ 解决方案 http://blog.c

shell脚本-Android中调用shell命令;

问题描述 Android中调用shell命令: public static int execCommand(String command) throws IOException { return execCommand(new String[] { "sh","-c", command }); } /** * Execute shell command * @param command Shell command array * @return Result * @

android am pm命令

 adb shell中的am pm命令,一些自己的见解和大多数官网的翻译. 先说下am命令,am全称activity manager,你能使用am去模拟各种系统的行为,例如去启动一个activity,强制停止进程,发送广播进程,修改设备屏幕属性等等.当你在adb shell命令下执行am命令: am <command> 你也可以在adb shell前执行am命令: adb shell am start -a android.intent.action.VIEW 关于一些am命令的介绍: sta