当前位置:编程学习 > wap >>

这么简单的一个monkey问题,你们肯定都会,就我不会

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


先谢谢了。。 --------------------编程问答-------------------- 你试试用Runtime.exec("monkey .....(参数)") --------------------编程问答--------------------
引用 1 楼 yuleyouxi 的回复:
你试试用Runtime.exec("monkey .....(参数)")



试了没用。。

给你看看点击按钮后提示的报错信息

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)
  

以下省略好几行

--------------------编程问答-------------------- 我添加了权限。

<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>


还是没用。。。


求大神。。。。 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 真的很急。。。有没有人教我一下。。谢谢。。 --------------------编程问答-------------------- 查了一下需要在AndroidManifest.xml文件中添加

android:sharedUserId="android.uid.system" 


但是编译通过,却启动不起来。查了资料。方法貌似都要修改android的源码。
--------------------编程问答-------------------- --------------------编程问答--------------------
引用 3 楼 g19920917 的回复:
我添加了权限。

还是没用。。。


你加了android.permission.SET_ACTIVITY_WATCHER之后是否有报错啥的呢?

另外android:sharedUserId="android.uid.system"这个应该只有内置的应用才能用
--------------------编程问答--------------------
引用 8 楼 yuleyouxi 的回复:
Quote: 引用 3 楼 g19920917 的回复:

我添加了权限。

还是没用。。。


你加了android.permission.SET_ACTIVITY_WATCHER之后是否有报错啥的呢?

另外android:sharedUserId="android.uid.system"这个应该只有内置的应用才能用



添加了android.permission.SET_ACTIVITY_WATCHER后还是报错提示缺少android.permission.SET_ACTIVITY_WATCHER权限。。。你可以试一下
--------------------编程问答--------------------
引用 9 楼 g19920917 的回复:
Quote: 引用 8 楼 yuleyouxi 的回复:

Quote: 引用 3 楼 g19920917 的回复:

我添加了权限。

还是没用。。。


你加了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"/> --------------------编程问答-------------------- 额。。。我刚试了下,eclipse编译不过,貌似这两个permission都要system app才行。。。
你是怎么编译过的?你是在源码中编译的么?
--------------------编程问答--------------------
引用 11 楼 yuleyouxi 的回复:
额。。。我刚试了下,eclipse编译不过,貌似这两个permission都要system app才行。。。
你是怎么编译过的?你是在源码中编译的么?



好像确实需要在源码中编译。但是我没有条件。 --------------------编程问答-------------------- android:sharedUserId="android.uid.system"这个,不是系统APK,无法使用 --------------------编程问答-------------------- 你应该先下个Console控制台在你的手机上
然后运行Monkey 看行不行

如果可以才能用命令行调用

另外你可以试试其他简单的命令行先
--------------------编程问答--------------------
引用 14 楼 macrojj 的回复:
你应该先下个Console控制台在你的手机上
然后运行Monkey 看行不行

如果可以才能用命令行调用

另外你可以试试其他简单的命令行先


这么先进的想法。。 --------------------编程问答--------------------
引用 14 楼 macrojj 的回复:
你应该先下个Console控制台在你的手机上
然后运行Monkey 看行不行

如果可以才能用命令行调用

另外你可以试试其他简单的命令行先


试了一下,发现是不行的。。提示运行环境的问题。 --------------------编程问答-------------------- 两种方法:
1、使用root权限运行monkey;
2、在Android源码中编译
AndroidManifest.xml文件中添加android:sharedUserId="android.uid.system"
Android.mk中添加LOCAL_CERTIFICATE := platform --------------------编程问答--------------------
引用 17 楼 qudaicheng 的回复:
两种方法:
1、使用root权限运行monkey;
2、在Android源码中编译
AndroidManifest.xml文件中添加android:sharedUserId="android.uid.system"
Android.mk中添加LOCAL_CERTIFICATE := platform


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


可以详细说一下么?我的代码是不是也存在着问题?
补充:移动开发 ,  Android
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,