2016-11-28 55 views
1

我可以使用以下命令在Android上使用adb shell启动猴子:adb shell monkey --ignore-crashes -p com.teslacoilsw.launcher 200 -v 1你可以从应用程序启动Android猴子吗?

但是,我想知道是否可以从Android应用程序启动猴子。我试过了,但它似乎没有工作:

Process p = Runtime.getRuntime().exec("monkey --ignore-crashes -p com.teslacoilsw.launcher 200 -v 1"); 

没有错误引发,它只是坐在那里。

任何想法?谢谢!

+0

首先,'monkey'和'monkeyrunner'不一样的东西。其次,这是一个有趣的问题,[这个答案](http://stackoverflow.com/a/22985070/4191629)给出了一个线索,可能是从应用程序内部运行此命令没有必要的权限来执行猴子。这是有道理的,因为猴子试图发送事件到设备上安装的所有软件包 – maciekjanusz

+0

我已批准编辑将其更改为猴子,不知道有什么区别,对不起!根据这个答案,看起来这是不太可能的,我真的很想把它作为一个有趣的功能添加到我的应用程序中! –

回答

0

是的,它可以工作,你需要安装的应用程序作为系统应用,

try 
{ 
Runtime.getRuntime().exec("monkey -p com.android.email -v 500"); 
} 
catch (IOException e) 
{ 
// TODO Auto-generated catch block 
} 

权限:在AndroidManifest.xml

//ADD THESE TWO LINES IN YOUR MENIFEST . 
android:sharedUserId="android.uid.system" > 
<uses-permission android:name="android.permission.ACCESS_SUPERUSER"/> 
相关问题