1

我尝试使用以下代码从我的应用程序为另一个应用程序运行“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 应用程序运行“猴子”?

4

1 回答 1

3

要从 android 应用程序运行monkey,您需要添加权限

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

到清单文件,

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

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

  1. 系统 - 预装在设备的固件中


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

于 2013-12-12T12:50:42.187 回答