Java 读取密钥失败<;键>;“来自商店”/keystore.jks";:密钥库被篡改,或密码不正确
我正在尝试使用现有密钥库文件构建一个已签名的APK,这样我就可以更新已经在Play Store中的应用程序,但是gradle似乎无法识别密钥文件的密码 通常我们通过Bitrise构建应用程序,但最近出现了一些问题,所以我一直尝试使用Java 读取密钥失败<;键>;“来自商店”/keystore.jks";:密钥库被篡改,或密码不正确,java,android,gradle,Java,Android,Gradle,我正在尝试使用现有密钥库文件构建一个已签名的APK,这样我就可以更新已经在Play Store中的应用程序,但是gradle似乎无法识别密钥文件的密码 通常我们通过Bitrise构建应用程序,但最近出现了一些问题,所以我一直尝试使用/gradlew assembleerelease和Android Studio(使用相同的命令创建签名APK)来构建它 一切似乎都很好,直到gradle进入:app:packageRelease步骤 完整错误为:com.android.ide.common.sign
/gradlew assembleerelease
和Android Studio(使用相同的命令创建签名APK)来构建它
一切似乎都很好,直到gradle进入:app:packageRelease
步骤
完整错误为:com.android.ide.common.signing.KeytoolException:未能从存储区/Users/admin/Documents/projects//android/app/.jks读取密钥:密钥库被篡改,或密码不正确
我很确定这是密钥库文件的密码问题,因为当我尝试keytool-list-keystore.jks
时,系统会提示我输入密码,然后会出现一个非常类似的错误:keytool错误:java.io.IOException:密钥库被篡改,或者密码不正确
这是我的build.gradle
:
signingConfigs {
release {
storeFile file('<app>.jks')
storePassword '<store_password>'
keyAlias '<alias>'
keyPassword '<key_password>'
}
}
}
buildTypes {
...
release {
minifyEnabled enableProguardInReleaseBuilds
proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
signingConfig signingConfigs.release
}
签名配置{
释放{
storeFile文件('.jks')
存储密码“”
keyAlias“
密钥密码“”
}
}
}
建筑类型{
...
释放{
minifyEnabled EnabledProGuardInReleaseBuilds
proguardFiles getDefaultProguardFile(“proguard android.txt”),“proguard rules.pro”
signingConfig signingConfigs.release
}
为了确保这是一个密钥库文件问题,我还生成了一个新的密钥库文件,但是使用扩展名.keystore
,应用程序构建得很好
我花了整整一天的时间来研究这个问题,但运气不佳,不幸的是,没有一个类似的问题对我有帮助。如果有人能给我指出正确的方向,我将非常感激
谢谢。对于遇到类似错误的人:
确保文件key.properties中的密码条目后没有空格。我在构建appbundle时遇到了问题,因为有一点空格(我想是自动格式化之类的)
我希望这能解决你的问题。
密码不正确
你确定你的密码正确吗?我尽可能确定-我没有设置初始密钥库文件,但那个向我保证密码正确的人。我认为Bitrise使用Linux,而我使用Mac OS。这可能是一个原因吗?我也有同样的问题,命令行失败,但是当我在中复制/粘贴密码时,Android Studio对应用程序的签名绝对正确