Android 安卓发布密钥库问题:“;密钥库被篡改,或密码不正确;
几个月前,我使用以下命令生成了我的android发布密钥库:Android 安卓发布密钥库问题:“;密钥库被篡改,或密码不正确;,android,jar-signing,Android,Jar Signing,几个月前,我使用以下命令生成了我的android发布密钥库: keytool -genkey -v -keystore my-release-key.keystore -alias myalias -keyalg RSA -keysize 2048 -validity 10000 jarsigner -verbose -keystore my-release-key.keystore my.apk myalias 我为密钥库输入了一个密码,并将其记录下来。在最后一步中,当需要为证书输入密码时
keytool -genkey -v -keystore my-release-key.keystore -alias myalias -keyalg RSA -keysize 2048 -validity 10000
jarsigner -verbose -keystore my-release-key.keystore my.apk myalias
我为密钥库输入了一个密码,并将其记录下来。在最后一步中,当需要为证书输入密码时,我按enter键使用与密钥库相同的密码(因此整个过程中我只需记住一个密码)
生成此密钥库后,我使用以下命令签署了apk以供发布:
keytool -genkey -v -keystore my-release-key.keystore -alias myalias -keyalg RSA -keysize 2048 -validity 10000
jarsigner -verbose -keystore my-release-key.keystore my.apk myalias
我输入密码的地方(没问题)
现在我必须在市场上推送我的apk更新,当我尝试使用上面的命令签署新的apk时,我得到一个“密钥库被篡改,或者密码不正确”
我很困惑,我回到我的密钥库备份,我得到了同样的问题。我确信密码是正确的。请注意,我根本没有在流程中使用Eclipse(我是从命令行签名的)
这里有什么问题?Heeelpp 该消息表示密码错误。看起来您没有记住用于密钥存储的密码
强烈建议在创建密钥和密码时,将副本保存在非常安全的地方,防止遗忘、火灾、驱动器故障等,因为后果可能非常严重(无法在市场上更新应用程序)。此错误发生在我身上,因为我的公司名称中有逗号,例如“Company,Inc.” 去掉逗号,一切正常。
希望能有所帮助。隐式的keyalg、digestalg和/或sigalg在不同版本的Java和eclipse之间发生了变化 使用命令行并尝试几个不同的组合。在用Java5.0创建密钥,但将系统升级到Java6之后,这对我来说是有效的
jarsigner-verbose-keystore-sigalg MD5withRSA-digestalg SHA1
与社区分享我的经验
JDK1.7
android的build.gradle
android {
compileSdkVersion 18
buildToolsVersion "17.0.0"
signingConfigs {
release {
storeFile file("../my-release.keystore")
storePassword "$MakeMyDay!"
keyAlias "my-release"
keyPassword "$MakeMyDay!"
}
}
:
当我升级assembleRelease时,我遇到了可怕的“篡改或密码不正确”错误
决议:
使用更简单的密码,如abcdef。不确定是否有特殊字符,如$和!得到支持 你是如何解决你的问题的?我也有同样的问题——我的密码包含特殊字符,看起来像Android工具。相同的密码在Android Studio中工作(自动转义?),但不在命令行上。我通过更改密码并确保它不包含字符&$%@来修复此问题。