权限提升方法:
一种方法:
1、在AndroidManifest.xml中的manifest节点中添加 android:sharedUserId="android.uid.system"。
2、添加后程序在虚拟机上是不可以直接用的。但可以用eclipse编译成apk。
3、(这一步经验证不执行即可)编译成apk后用压缩工具打开apk,把META-INF目录中的CERT.SF、CERT.RSA 两个文件删除。
4、使用android自带的签名工具signapk.jar 以及源码中的platform.x509.pem,platform.pk8 对apk进行重新签名。
执行:java -jar signapk.jar platform.x509.pem platform.pk8 old.apk new.apk 执行后new.apk即为签名后的文件。
(注:执行命令时所有文件这里放在同一目录下,如果不在同一目录请修改路径)。
文件platform.x509.pem和platform.pk8我们可以在源码的 build/target/product/security中找到。signapk.jar 可以编译build/tools/signapk/ 得到。
5、签名后就可以安装使用了
第二种方法:
1、在AndroidManifest.xml中的manifest节点中添加 android:sharedUserId="android.uid.system"。
2、直接在源码中编译,Android中加入LOCAL_CERTIFICATE := platform
两法方法签名后可能会导致不能操作sdcard目录下的文件。
需要提升权限的操作:
1、系统重启:
复制代码 代码如下:
PowerManager pManager=(PowerManager) mContext.getSystemService(Context.POWER_SERVICE);
pManager.reboot("");
2、向cache分区/cache中写入文件
3、修改系统时间
……