[mobilesafe] 06_0权限重启手机

Android 4.0

0权限重启手机

1、http://www.grepcode.com/ 搜 reboot broadcast
final class RebootRequestReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context c, Intent intent) {
        mReqRebootNoWait = intent.getIntExtra("nowait", 0) != 0; //重启是否等待
        mReqRebootInterval = intent.getIntExtra("interval", -1); //重启手机多少次
        mReqRebootStartTime = intent.getIntExtra("startTime", -1); //什么时候重启手机
        mReqRebootWindow = intent.getIntExtra("window", -1);//重启手机是否有窗体的提醒
        mReqMinScreenOff = intent.getIntExtra("minScreenOff", -1);
        mReqMinNextAlarm = intent.getIntExtra("minNextAlarm", -1);
        mReqRecheckInterval = intent.getIntExtra("recheckInterval", -1);
        EventLog.writeEvent(EventLogTags.WATCHDOG_REQUESTED_REBOOT,
                mReqRebootNoWait ? 1 : 0, mReqRebootInterval,
                        mReqRecheckInterval, mReqRebootStartTime,
                mReqRebootWindow, mReqMinScreenOff, mReqMinNextAlarm);
        checkReboot(true);
    }
}
方式一:伪装成系统应用重启手机-只能用在原生手机上面
1、在清单文件中添加属性android:sharedUserId="android.uid.system"
2、用系统签名给应用程序签名,伪装成系统应用
3、但签名后的应用只能在原生的Android上使用
4、因为定制的android系统,把下面两个平台签名文件给改了 ,导致应用签名不一致,安装不上。
platform.x509.pem
platform.pk8
方式二:
问题1:
直接报Permission Denied,没有提示需要什么具体的权限,因为这个应用不能声明该权限,只能是系统应用才能声明。
解决:在清单文件中,增加属性节点android:sharedUserId="android.uid.system"
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="cn.zengfansheng.reboot"
    android:sharedUserId="android.uid.system"
    android:versionCode="1"
    android:versionName="1.0" > 
问题2:但在部署的时候又出现了下面的问题
Installation error: INSTALL_FAILED_SHARED_USER_INCOMPATIBLE  
Please check logcat output for more details.   
Launch canceled!  
解决:

CERT.SF:保护应用程序的完整性
CERT.RSA:保存着开发者的信息,唯一标识标识应用程序的开发者

a) 将上面应用的META-INF文件给删除,然后再部署到手机上去,然后报错了,因为没有签名的应用,不能装到手机上

b) 使用signapk给应用签名


c)切换到signapk目录,执行命令:java -jar signapk.jar 可以看到命令的格式


d) 执行命令:java   -jar   signapk.jar   platform.x509.pem    platform.pk8    reboot.apk  newreboot.apk

e)对于原生的android真机可以重启,而模拟器不支持重启

f)小米手机安装失败 Failure [INSTALL_FAILED_SHARED_USER_INCOMPATIBLE]

g) 系统中的签名文件  \build\target\product\security