有时写一个程序需要调用系统的库,如果权限不够,是用不了库里面一些方法的 。这时就需要将apk进行系统签名了。
简单常用的方法:
1,在apk的AndroidManifest.xml中的manifest节点中加入android:sharedUserId="android.uid.system"
2,运行或打包得到apk
3,使用目标系统的platform密钥来给apk文件签名:
在系统android\build\target\product\security目录下找到platform.x509.pem 和platform.pk8两个文件;在系统在out/host/linux-x86/framework目录下找到signapk.jar文件,把它们复制出来放到一个文件夹下,把需要进行系统签名的apk也和它们放到一个文件夹下。然后首先进入该文件目录,再在cmd上输入下面语句:java -jar signapk.jar platform.x509.pem platform.pk8 被签名apk名称.apk 签名后apk名称.apk,执行完后会在当前目录得到一个新的apk "签名后apk名称.apk" 即为已经系统签名的apk。
举个列子,例如要签名reset.apk,如下图:
cmd进入当前目录:输入命令java -jar signapk.jar platform.x509.pem platform.pk8 reset.apk s_reset.apk
按回车键,生成的s_reset.apk即为已经系统签名的apk。
需要注意的是,其中必须platform.x509.pem 在 platform.pk8 之前,否则会报错。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。