权限提升方法:
一种方法:
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、修改系统时间
……
您可能感兴趣的文章:Android扫描二维码时出现用户禁止权限报错问题解决办法Android 操作系统获取Root权限 原理详细解析Android获取ROOT权限的实例代码Android点亮屏幕或屏幕解锁和锁定以及其他相关权限实现代码Android权限操作之uses-permission详解Android6.0动态申请权限所遇到的问题小结Android权限控制之自定义权限Android中Root权限获取的简单代码android编程判断应用是否具有某个权限的方法Android权限如何禁止以及友好提示用户开通必要权限详解