java apk 签名_给apk做系统签名

本文记录了解决使用signapk.jar工具为apk签名时遇到的错误,问题在于平台证书文件platform.pk8和platform.x509.pem的顺序不正确,正确顺序应为先x509.pem后pk8。
摘要由CSDN通过智能技术生成

有时候apk需要一些系统权限,我们能拿到系统的签名文件就可以

1、在Manifest.xml里添加

android:sharedUserId="android.uid.system"

2、使用系统签名工具,签名文件来签名apk

java -jar signapk.jar platform.pk8 platform.x509.pem test.apk test_sign.apk

这样签名过的文件test_sign.apk就具有了系统权限

记录一个低级错误,签名的时候,一直报错,百思不解

java.security.cert.CertificateParsingException: signed fields invalid

at sun.security.x509.X509CertImpl.parse(X509CertImpl.java:1718)

at sun.security.x509.X509CertImpl.(X509CertImpl.java:177)

at sun.security.provider.X509Factory.engineGenerateCertificate(X509Factory.java:90)

at java.security.cert.CertificateFactory.generateCertificate(CertificateFactory.java:305)

at com.android.signapk.SignApk.readPublicKey(SignApk.java:143)

at com.android.signapk.SignApk.main(SignApk.java:744)

最后发现,原来是platform.pk8跟platform.x509.pem顺序反了。

写成了使用java -jar signapk.jar platform.pk8 platform.x509.pem test.apk test_sign.apk命令下失败

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值