我想把monkey嵌入到java代码中。就是写一个apk,里面有个Button,一点,monkey就跑起来。居然实现不了。
先谢谢了。。

解决方案 »

  1.   

    你试试用Runtime.exec("monkey .....(参数)")
      

  2.   

    试了没用。。给你看看点击按钮后提示的报错信息09-13 17:02:45.274: E/AndroidRuntime(5843): java.lang.SecurityException: Permission Denial: setActivityController() from pid=5843, uid=10125 requires android.permission.SET_ACTIVITY_WATCHER
    09-13 17:02:45.274: E/AndroidRuntime(5843): java.lang.SecurityException: Permission Denial: setActivityController() from pid=5843, uid=10125 requires android.permission.SET_ACTIVITY_WATCHER
    09-13 17:02:45.274: E/AndroidRuntime(5843):  at android.os.Parcel.readException(Parcel.java:1425)
    09-13 17:02:45.274: E/AndroidRuntime(5843):  at android.os.Parcel.readException(Parcel.java:1379)
    09-13 17:02:45.274: E/AndroidRuntime(5843):  at android.app.ActivityManagerProxy.setActivityController(ActivityManagerNative.java:3272)
      以下省略好几行
      

  3.   

    我添加了权限。<manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.jason.wangmonkey"
        android:versionCode="1"
        android:versionName="1.0" >    <uses-sdk
            android:minSdkVersion="8"
            android:targetSdkVersion="17" />
        <uses-permission android:name="android.permission.SET_ACTIVITY_WATCHER"/>
        
        <application
            android:allowBackup="true"
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name"
            android:theme="@style/AppTheme" >
            <activity
                android:name="com.jason.wangmonkey.MainActivity"
                android:label="@string/app_name" >
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
            
        </application>
        
    </manifest>还是没用
    求大神。
      

  4.   

    查了一下需要在AndroidManifest.xml文件中添加android:sharedUserId="android.uid.system" 但是编译通过,却启动不起来。查了资料。方法貌似都要修改android的源码。
      

  5.   


    你加了android.permission.SET_ACTIVITY_WATCHER之后是否有报错啥的呢?另外android:sharedUserId="android.uid.system"这个应该只有内置的应用才能用
      

  6.   


    你加了android.permission.SET_ACTIVITY_WATCHER之后是否有报错啥的呢?另外android:sharedUserId="android.uid.system"这个应该只有内置的应用才能用

    添加了android.permission.SET_ACTIVITY_WATCHER后还是报错提示缺少android.permission.SET_ACTIVITY_WATCHER权限你可以试一下
      

  7.   


    你加了android.permission.SET_ACTIVITY_WATCHER之后是否有报错啥的呢?另外android:sharedUserId="android.uid.system"这个应该只有内置的应用才能用

    添加了android.permission.SET_ACTIVITY_WATCHER后还是报错提示缺少android.permission.SET_ACTIVITY_WATCHER权限你可以试一下
    额。。你加了这个permission还报缺少啊会不会你没重新安装新APK?
    你试试把这两个都加上
    <uses-permission android:name="android.permission.SET_ACTIVITY_WATCHER"/>
    <uses-permission android:name="android.permission.INJECT_EVENTS"/>
      

  8.   

    额我刚试了下,eclipse编译不过,貌似这两个permission都要system app才行
    你是怎么编译过的?你是在源码中编译的么?
      

  9.   

    android:sharedUserId="android.uid.system"这个,不是系统APK,无法使用
      

  10.   

    你应该先下个Console控制台在你的手机上
    然后运行Monkey 看行不行如果可以才能用命令行调用另外你可以试试其他简单的命令行先
      

  11.   

    两种方法:
    1、使用root权限运行monkey;
    2、在Android源码中编译
    AndroidManifest.xml文件中添加android:sharedUserId="android.uid.system"
    Android.mk中添加LOCAL_CERTIFICATE := platform