我尝试使用以下代码从我的应用中为另一个应用运行'adb shell monkey':
String[] command = null;
command = new String[] {
"monkey", "-p", "com.example.appname", "-v", "500" };
if(command != null){
Process process = Runtime.getRuntime().exec(command);
process.waitFor();
dumpStream(process.getInputStream());
dumpStream(process.getErrorStream());
LOGGER.error("" + process.exitValue());
if(process.exitValue() == 0 ){
}
}
但它只返回我:
12-11 14:45:47.525: E/MainActivity: main(15436): App /data/data/com.example.app/files/adb -> true
12-11 14:45:47.565: E/MainActivity: main(15436): App adb exit value: 0
12-11 14:45:51.149: E/MainActivity: main(15436): App /data/data/com.example.app/files/adb -> true
12-11 14:46:03.172: E/MainActivity: main(15436): App:Monkey: seed=1387859337757 count=500
12-11 14:46:03.172: E/MainActivity: main(15436): App:AllowPackage: com.example.appname
12-11 14:46:03.172: E/MainActivity: main(15436): App:IncludeCategory: android.intent.category.LAUNCHER
12-11 14:46:03.182: E/MainActivity: main(15436): App:IncludeCategory: android.intent.category.MONKEY
退出代码:9
也许有人知道如何从android应用程序运行'monkey'?
答案 0 :(得分:2)
要从Android应用运行monkey
,您需要添加权限
<uses-permission android:name="android.permission.SET_ACTIVITY_WATCHER"/>
到清单文件,
允许应用程序监视和控制在系统中全局启动活动的方式。仅用于调试(通常是monkey命令)。
不幸的是,此权限仅适用于系统应用程序。也就是说,它只适用于
的应用程序。或
2.用“平台密钥”签名的应用程序,即相同的密钥
那是用于签署固件的。