问题是我的应用程序apk是用sha1签名器#1和sha1签名器#2使用jarsigner签名的。意思是使用第一个发行版-key.jks和第二个版本-key.jks进行多重签名,我认为这是错误的。Apk显示两个证书。现在,尝试使用sha2签名器#1和sha2签名器#2对apksigner进行签名是失败的。
https://developer.android.com/studio/command-line/apksigner
通常,您只使用一个签名者就可以签署APK。如果需要使用多个签名者签署APK,请使用--next-signer选项将应用于每个签名者的一组通用选项分隔开来:
apksigner sign [signer_1_options] --next-signer [signer_2_options] app-name.apk
apksigner sign --ks sample.keystore --ks-key-alias abc --ks-pass pass:xyz --key-pass pass:somepass --next-signer --ks someks.jks --ks-key-alias key0 --ks-pass pass:123456 --key-pass pass:123456 MSIGN.apk当
Exception in thread "main" java.lang.IllegalStateException: Multiple signing certificates provided for use with APK Signature Scheme v3 without an accompanying SigningCertificateLineage源代码:
任何人在使用时帮助获取SigningCertificateLineage和伴随的SigningCertificateLineage --因此apk是多签名的?。
谢谢
发布于 2021-05-12 15:33:16
找到了解决办法。
1)在.下面获取证书沿袭标志
apksigner旋转--out /path/to/new/file
2)使用这两种证书密码进行多重签名.
签名-血统- my.keystore -下一位
发布于 2021-04-19 21:13:41
尝试使用标志--v3-signing-enabled=false。
正如错误消息中提到的,v3签名不支持用多个键进行签名,因此我怀疑禁用它会修复此错误。
请注意,v3签名是v2签名的一个扩展,它支持密钥旋转,因此您不会在安全性上丢失(除了可能永远无法使用的密钥旋转之外)。
https://stackoverflow.com/questions/67054983
复制相似问题