[英]Issue signing Android Release Build “ Failed to read key from keystore”
我正在使用gradle (assembleRelease)生成发布apk。
我已将密钥库文件保存在project / app / filename.keystore中(在应用程序内)
我已经指定了与gradle.properties文件登录有关的详细信息
RELEASE_STORE_FILE=filename.keystore
RELEASE_STORE_PASSWORD=****
RELEASE_KEY_ALIAS=alias
RELEASE_KEY_PASSWORD=****
我的build.gradle文件具有与签名相关的以下内容
signingConfigs {
release {
storeFile file(RELEASE_STORE_FILE)
storePassword RELEASE_STORE_PASSWORD
keyAlias RELEASE_KEY_ALIAS
keyPassword RELEASE_KEY_PASSWORD
}
}
我在以下相同的gradle文件中指定了签名配置
buildTypes {
release {
signingConfig signingConfigs.release
}
}
但是,当我尝试创建发行版时,我不断收到以下错误
Error:Execution failed for task ':app:package<flavor>Release'.
> Failed to read key from keystore
我尝试了以下
输入了错误的密码以查看是否可以找到该文件。给出以下错误以及正确的路径,因为我认为可以找到该文件。
无法从存储库“”中读取密钥:密钥库被篡改,或者密码不正确
感谢您的投入!
我的问题是我输入了一个随机的keyAlias
。 当尝试使用IDE签名apk(IntlliJ Idea和Android Studio:“生成”菜单->生成签名的APK)时,通过单击用于输入密钥别名的文本框旁边的椭圆按钮( ...
),我找到了正确的密钥别名我之前为密钥库设置的。 仔细检查您是否没有为密钥库输入临时的随机密码和keyAlias,因为它们应该与创建时为密钥库设置的密码和密钥别名相同。
如果您忘记了密码或密钥别名,那么恐怕您必须创建一个新的密钥库,因为如果没有这些密钥,则无法读取密钥库。 我建议将这两个属性(并附加密钥库文件)保存在类似Lastpass的密码管理器中,以备将来使用。
我的问题是gradle.properties文件中有多余的空格。 因此,如果您有这样的条目:
MYAPP_RELEASE_KEY_ALIAS=my-key-alias(\s)(\r\n)
确保所有条目没有前导空格:
MYAPP_RELEASE_KEY_ALIAS=my-key-alias(\r\n)
我正在使用带引号和别名的双引号,如下所示
storePassword="spass"
keyAlias="kalias"
keyPassword="kpass"
删除双引号解决了我的问题
storePassword=spass
keyAlias=kalias
keyPassword=kpass
我尚未完全解决此问题,但我认为它与“ Telegram \\ TMessagesProj \\ build.gradle”中的以下条目有关:
signingConfigs {
debug {
storeFile file("config/release.keystore")
storePassword RELEASE_STORE_PASSWORD
keyAlias RELEASE_KEY_ALIAS
keyPassword RELEASE_KEY_PASSWORD
}
release {
storeFile file("config/release.keystore")
storePassword RELEASE_STORE_PASSWORD
keyAlias RELEASE_KEY_ALIAS
keyPassword RELEASE_KEY_PASSWORD
}
}
请注意,DEBUG配置已设置为“ release.keystore”。
密码和别名存储在“ Telegram \\ gradle.properties”中,通过将其更改为在签名APK时使用的密码和更改调试行以指向您自己的签名密钥(通过Android Studio创建),我取得了一些成功。
例如,将行更改为
调试{storeFile file(“路径/到/您/签名/密钥/ApkSigning.jks”)...}
并在gradle属性文件中设置适当的密码和别名。
希望能有所帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.