我使用Android Studio生成了用於簽署Android應用的密鑰。當我嘗試從Android Studio生成簽名的APK時,它工作正常。從Android Studio簽名的apk工作,但爲什麼相同的密鑰庫不能在命令行上工作?
但是,當我嘗試使用apksigner工具進行簽名時,同樣的鍵不起作用。這是我正在使用的命令。
apksigner sign --ks mykey.jks --ks-key-alias MyAlias --out app-myapp-release.apk app-myapp-release-aligned.apk
我得到以下錯誤:
產生java.io.IOException:密鑰庫被篡改,或密碼不正確
有什麼建議?
**更新** Android Studio版本2.2.3 密鑰庫是使用「生成簽名的APK」對話框從「生成」菜單生成的。
1.這個keystore-alias-password組合與jarsigner一起工作嗎? 'jarsigner -sigalg SHA1withRSA -digestalg SHA1 -keystore mykey.jks -signedjar out.apk app-myapp-release-aligned.apk MyAlias' 2.如果您在命令行上提供密鑰庫密碼,它是否可以與apksigner配合使用使用'-ks-pass pass:yourpassword'? –
1.是的,它與jarsigner 2一起工作。不,它不; t。它顯示錯誤'java.io.IOException:無法從mykey.jks獲取具有別名「myapp」的密鑰。錯誤密碼?' – Nagarjun
謝謝!您介意發佈步驟以使用Android Studio(哪個版本?)生成密鑰庫,以使密鑰庫不能與apksigner一起使用?我懷疑這個問題可能與密碼中使用的某些字符有關,但我還沒有能夠自己再現這一點。 –