android之使用signapk打包成系统应用,获取系统权限

        有的时候在应用程序中需要获取一些特殊权限,比如写该系统时间,或者关机程序,这是后除了获取root权限方法之外,还可以使用在menifest.xml文件中添加android:sharedUserId="android.uid.system"到根节点中将自己的应用程序打包成系统应用以达到目的。


但是添加android:sharedUserId="android.uid.system"编译成功后的apk是不能安装的 ,这是因为系统应用使用了统一的签名,而我们的签名和系统应用的签名不一样,所以接下来的事情就是怎么将自己的应用签名改成系统的应用签名了(尴尬的是现在国内大多数系统都是定制过得,系统应用签名无法获取,所以该方法仅限于android原生系统)


1、使用目标系统的platform密钥来重新给apk文件签名。

首先在我的Android源码目录中的位置是"build        argetproductsecurity",下面的platform.pk8和platform.x509.pem两个文件。

然后使用系统提供的签名工具signapk.jar,使用步骤是将自己的apk还有上述三个文件放入一个文件夹如图:


2、然后用压缩软件打开自己的apk文件,删掉META-INF目录下的CERT.SF和CERT.RSA两个文件。


3、然后在cmd下进入到改文件夹下我的是e:/to/SignApk使用如下命令:


回车后我们的文件夹下已经多了一个new.apk文件了,这就将我们的应用打包成系统应用了如图:

下面是资源问价signapk.jar  platfrom.pk8   platform.x509.pem 的下载链接:

下载链接




  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值