Bootstrap

android 没有权限报错,android PowerManager 等权限问题

今天想写一个 重启的压力测试,运行是出现下面问题:

一、运行报错java.lang.RuntimeException: Unable to start receiver runin.xtk.com.myreboot.BootBroadcastReceiver: java.lang.SecurityException: Neither user 10084 nor current process has android.permission.REBOOT.

at android.app.ActivityThread.handleReceiver(ActivityThread.java:3197)

at android.app.ActivityThread.-wrap17(Unknown Source:0)

at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1675)

at android.os.Handler.dispatchMessage(Handler.java:106)

at android.os.Looper.loop(Looper.java:164)

at android.app.ActivityThread.main(ActivityThread.java:6518)

at java.lang.reflect.Method.invoke(Native Method)

at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)

at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)

没有下面的权限Neither user 10084 nor current process has android.permission.REBOOT.

但是我已经给了权限 在文件

其中试了好几种重启的方法,还将手机 系统变为 userdebug 版本,都是一样的错

网上查资料说需要签名,需要修改两处:

1.Android.mk 文件添加如下:

LOCAL_CERTIFICATE := platform

2.AndroidManifest.xml 文件中将 manifest 添加 android:sharedUserId 属性

然后编译即可

以上编译即可解决问题

签名种类:

1、testkey:普通APK,默认情况下使用。

2、platform:该APK完成一些系统的核心功能。经过对系统中存在的文件夹的访问测试,这种方式编译出来的APK所在进程的UID为system。

3、shared:该APK需要和home/contacts进程共享数据。

4、media:该APK是media/download系统中的一环

;