APK签名错误:无法从密钥库中读取密钥
我正在intellij和gradle下开发Android应用程序。 并使用以下方式生成密钥库文件:
keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
然后在build.gradle中使用keystore文件:
signingConfigs { robert { storePassword 'robert' storeFile file('/Users/bournewang/Documents/Project/android.keystore') keyPassword 'robert' keyAlias 'mike' } }
当最后尝试生成签名的apk文件时:./gradlew assembleRelease
它给出了错误:
执行失败的任务':Myexample:packageRelease'。
无法从密钥库中读取密钥
首先检查您的密钥库文件,例如您使用名称my-release-key.keystore创build文件。 如果它的正确和真正存在的文件夹Users/bournewang/Documents/Project
检查别名,在你的例子中它是-alias alias_name ,但在你指定的别名mike
为了找出什么是错的,你可以使用gradle的signingReport
命令。
在mac上:
./gradlew signingReport
在Windows上:
gradle signingReport
您的密钥库文件很可能不存在您的密钥别名。
这个答案应该解决你的签名问题;)
删除double-quotes
解决了我的问题,现在它的:
DEBUG_STORE_PASSWORD=androiddebug DEBUG_KEY_ALIAS=androiddebug DEBUG_KEY_PASSWORD=androiddebug
在我的情况下,当从其他来源复制文本时,它以某种方式包括剪贴板input结束处的空间。 这样的关键密码在最后有一个空间。
它可以是任何一个参数,而不仅仅是文件名或别名 – 对我来说,它是密钥密码。