2013-12-11 3 views
1

я пытаюсь запустить «ADB оболочки обезьяны» из моего приложения для другого приложения используя код ниже:Как можно запустить обезьяну из Android App

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

Может быть, ybody знает, как можно запустить «обезьяну» из приложения Android?

ответ

2

Чтобы запустить monkey из андроид приложения вам нужно добавить разрешение

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

в файл манифеста,

который позволяет приложению наблюдать и контролировать деятельность начал в глобальном масштабе в системе. Только для отладки (обычно это команда обезьяны).

И, к сожалению, это разрешение доступно только для системы applications.that есть, это может быть применимо только к приложениям, которые

  1. система - предустановленные в прошивке устройства

или
2. Приложения, которые подписаны с «ключом платформы», то есть тот же ключ , который использовался для подписи прошивки.