Android下怎么给APP加root

1、前言


        前段时间帮朋友修改一个APP,需要在平板上实现与服务器时间同步,并且实时修改当前的系统时间,这个问题本身不是很复杂,从服务器到APP都由朋友一人完成,不过头疼的是Android系统不允许用户修改系统时间,因为没有权限,必须要root后才行,可恨的是客户那里的平台都是那种听都没听说过的牌子,造成用一键root的时候失败,于是就有个今天这篇文章的内容。


2、基本思路

 

       网上一般介绍有两种方法来给APP加root权限,一种是通过编译系统源码的方式,另外一种则是通过修改APP签名的方式。第一种方法太蛮烦,而且Android源码也不好下,特别大,于是就用第二种方法,通过把APP的User ID分配到系统进程中,从而获取root权限,同时对APP进行重新签名就可以了。


3、解决方案


Step1:修改AndroidManifest.xml文件,添加android:sharedUserId="android.uid.system"。

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="xxx"
    <strong>android:sharedUserId="android.uid.system"</strong>
    android:versionCode="1"
    android:versionName="1.0" >


Step2:重新编译出APK文件,使用eclipse的话可以在bin目录下找到最新编译的APK。

Step3:重新为APK文件进行签名,注意签名不要包含中文目录。

java -jar signapk.jar platform.x509.pem  platform.pk8  XXX.apk  XXX_New.apk

        通过上面三步就可以实现把为APP添加root权限的功能,这里需要注意的是可能做出来的APP不能在所有的平台上运行,因为很多第三方room没有采用官方的签名,而是由自己的签名,这种情况的话就会失败,暂时还没有找到比较好的解决方案,不过在原生的系统上或者自己编译的系统是肯定没问题的。


工具下载

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值