当我使用keytool
检查密钥详细信息时,它表示密钥库包含2个条目。
其中一个的签名算法是SHA1withDSA
和SHA256withRSA
另一个。
我使用了命令
$ jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore
my-release-key.keystore HelloWorld-release-unsigned.apk alias_name
签署我的apk。但它给出的错误是:
私钥算法与签名算法不兼容
我该如何解决这个问题?
答案 0 :(得分:0)
如果使用Android studio
,请在project.ant.genkey
内添加以下2行
sigalg: 'MD5withRSA',
keyalg: 'RSA'
答案 1 :(得分:0)
我在生成新的密钥库文件时解决了这个问题,然后我使用新的密钥库文件来签署myApp.apk 我使用以下方法生成密钥:
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore myApp_keystore.jks android-armv7-release-unsigned.apk myApp_alias -keypass MY_KEYPASS -storepass MY_STOREPASS
答案 2 :(得分:0)
因此,只需使用您在那里拥有的密钥的签名算法之一...
jarsigner -verbose -sigalg SHA1withDSA -digestalg SHA1 -keystore my-release-key.keystore HelloWorld-release-unsigned.apk alias_name
或
jarsigner -verbose -sigalg SHA256withRSA -digestalg SHA1 -keystore my-release-key.keystore HelloWorld-release-unsigned.apk alias_name
答案 3 :(得分:0)
只需删除-sigalg SHA1withRSA -digestalg SHA1对我有用