怎么可能从Android应用程序运行猴子

时间:2013-12-11 12:08:47

标签: android shell runtime adb android-monkey

我尝试使用以下代码从我的应用中为另一个应用运行'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'?

1 个答案:

答案 0 :(得分:2)

要从Android应用运行monkey,您需要添加权限

<uses-permission android:name="android.permission.SET_ACTIVITY_WATCHER"/>

到清单文件,

允许应用程序监视和控制在系统中全局启动活动的方式。仅用于调试(通常是monkey命令)。

不幸的是,此权限仅适用于系统应用程序。也就是说,它只适用于

的应用程序。
  1. system - 预装在设备的固件中

  2.   2.用“平台密钥”签名的应用程序,即相同的密钥         那是用于签署固件的。