android重启
重启android系统有两个要求:
1.应用程序的uid必须是系统uid ;
2.应用程序的签名必须和系统签名一致。
具体的实现步骤如下:
1.在清单文件加上android:sharedUserId="android.uid.system,让当前应用程序分享系统的uid
<manifestxmlns:android="http://schemas.android.com/apk/res/android"
package="com.alex.reboot"
android:versionCode="1"
android:versionName="1.0"
android:sharedUserId="android.uid.system">
2.使用SignApk工具操作使得应用程序的签名和系统签名一样
注:apk文件里面的META-INF文件夹下的文件就是应用程序的签名
2.1删除应用程序下面原来的签名文件
2.2找到系统签名文件并拷贝到SignApk目录下,系统签名文件在源代码的目录下:build/target/product/security/,拷贝以下两个文件:
公钥:platform.x509.pem
私钥:platform.pk8
2.3使用以下命令将系统签名文件迁到应用程序当中
java-jarsignapk.jarplatform.x509.pemplatform.pk8test.apktestnew.apk
test.apk为原本的apk文件
testnew.apk为生成的apk文件
3.将生成的apk文件放入手机中,运行重启代码便可重启手机
3.1 查看系统源码(android_all_src\JB\frameworks\base\services\java\com\android\server\WachDog.java)可获知重启代码如下:
Intentreboot=newIntent(Intent.ACTION_REBOOT);
reboot.putExtra("nowait",1);
reboot.putExtra("interval",1);
reboot.putExtra("window",0);
sendBroadcast(reboot);
更多相关文章
- Android的应用程序结构分析:HelloActivity
- Android应用程序上传错误The package name of your apk may not
- Android——编译release版签名系统
- Android* 操作系统上的应用程序远程调试
- Android的日志系统分层与logcat使用
- 写TextView的Selector了解到的android读取xml文件的几点规则
- Android基础知识之Manifest文件的组织结构
- android中一些配置文件的参数的意义
- Android系统框架概述