使用Android系统的platform密钥给apk文件签名

在应用程序的AndroidManifest.xml中的manifest节点中加入android:sharedUserId=”android.uid.system”这个属性时,需要加入系统签名才可以直接安装,否则报错INSTALL_FAILED_SHARED_USER_INCOMPATIBLE

系统签名方式1

修改Android.mk文件,加入LOCAL_CERTIFICATE := platform这一属性

系统签名方式2

签名命令

java -Djava.library.path="out/host/linux-x86/lib64" -jar out/host/linux-x86/framework/signapk.jar build/target/product/security/platform.x509.pem build/target/product/security/platform.pk8 unsign_app.apk sign_app.apk
  • signapk工具
    out/host/linux-x86/framework/signapk.jar
  • 密钥文件
    build/target/product/security/platform.x509.pem
    build/target/product/security/platform.pk8
  • 未签名apk:unsign_app.apk
  • 签名的apk:sign_app.apk

注意事项

  1. 命令中的文件都要使用绝对路径,否则会出现各种错误
fangjian@PS2020KDZVZTZQ:/home/fangjian/signed$ java -jar signapk.jar -w platform.x509.pem platform.pk8 unsign_app.apk  sign_app.apk
Exception in thread "main" java.lang.UnsatisfiedLinkError: org.conscrypt.NativeCrypto.get_cipher_names(Ljava/lang/String;)[Ljava/lang/String;
  1. 出现的第二种错误,添加这个-Djava.library.path="out/host/linux-x86/lib64"解决
fangjian@u123:/home3/fangjian/LA.UM.5.6$ java -jar out/host/linux-x86/framework/signapk.jar build/target/product/security/platform.x509.pem build/target/product/security/platform.pk8 unsign_app.apk sign_app.apk
Exception in thread "main" java.lang.UnsatisfiedLinkError: no conscrypt_openjdk_jni in java.library.path
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值