为AndroidApk添加系统级签名

有时候需要为apk添加系统级签名,起始很简单的几步就能够生成系统签名,然后倒入IDE或者手动签名即可。
此方法来自:http://curlog.com/2016/08/30/android-pk2debug-keystore/

使用到系统级Api的,或者Androidmanifest.Xml文件中声明了

android:sharedUserId=“android.uid.system”

那么没有系统签名,直接debug签名运行是不行的
1、准备
  • platform.pk8
  • platform.x509.pem
2、动手前的知识理解
  • 为什么需要这两个文件?需要这两个文件干什么?

因为需要生成系统级的签名,必要依靠系统里面的文件platform.pk8和platform.x509.pem转换成签名文件,然后才能签名apk进行debug调试或者直接安装。

在不知道系统签名可以转换成debug签名前,老实说我一直都是用Log的方式调试,太特么痛苦了。现在知道后整个人都懵逼了。我们都希望可以像调试普通app那样调试系统app.
  • 从哪里能够取得这两个文件?
    如果你调试机是原生手机,可以直接从源码网站下载源码,在源码目录build\target\product\security中,直接下载就可以。
    如果你调试机的系统时定制系统的话,就需要找底层工程师要这两个文件,或者自己解包找这两个文件。
3、开始动手

最好是在Linux环境下进行操作,当然Windows下和Mac下也是可以的。首先需要安装openssl工具,Mac自带openssl,Windows和Linux需要自己安装。这里给出Centos7的安装方法。

yum install openssl
yum install openssl-devel
第一步:生成platform.priv.pem第一步:生成platform.priv.pem
openssl pkcs8 -in platform.pk8 -inform DER -outform PEM -out platform.priv.pem -nocrypt
第二步:生成platform.pk12
openssl pkcs12 -export -in platform.x509.pem -inkey platform.priv.pem -out platform.pk12 -name androiddebugkey

这一步中,-name后跟的是签名文件中的key名,执行过程中会提示输入密码,输入自己签名密码即可。

第三步:生成签名文件
keytool -importkeystore -deststorepass android -destkeypass android -destkeystore debug.keystore -srckeystore platform.pk12 -srcstoretype PKCS12 -srcstorepass android -alias androiddebugkey

这一步中,-deststorepass 后面跟的是签名文件的密码,保持和key的密码相同,否则会报错。-destkeypass 后面跟的是key的密码,保持和签名文件密码相同。-destkeystore 后面跟签名文件名称。-srcstorepass 后面跟的是keystore密码,保持和其他相同。-alias 后面跟key的名字,和上一步保持相同。

到此就能得到签名文件。到此就能得到签名文件。

**为小白写的文章,大牛请路过就好,谢谢。
个人博客永久地址: https://neusoft.me/ziyuan/java/2020/05/02/shareuserid/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值