Android Studio - 密钥库被篡改,或密码不正确

Android Studio - Keystore was tampered with, or password was incorrect

我正在尝试使用 Android Studio v1.4 中的内置小部件生成已签名的 APK。

但是,我遇到了这个烦人的错误

Error:Execution failed for task ':app:packageRelease'. Failed to read key cckey from store "C:\Users\Lancelot\Desktop\release.jks": Keystore was tampered with, or password was incorrect

我能够像下面的屏幕截图一样检索我的密钥别名

(为了到达这里,密钥库密码必须正确,否则会显示错误)

然后我输入了我的密钥密码,但没有成功签署 APK... 我什至尝试使用命令行 keytool -keypasswd -alias cckey -keystore C:\Users\Lancelot\Desktop\release.jks 更改密钥密码。通过运行这个我需要在输入新密码之前正确输入旧密码,这一切都通过了;这证明密钥密码一开始就没有错

所以问题是,如果我的密钥库密码、密钥别名和密钥密码都是正确的,那么它有什么问题呢??

显然我刚刚发现几个月前发布的另一个 解决了我困扰了好几天的问题...

只需要将密钥库和密钥别名密码更改为相同的它就可以工作了。虽然我仍然不知道为什么在我发布更新之前同一个密钥库可以工作;然后在我更改密码之前不再工作。

如果有人对此有答案,请告诉大家!

我刚刚遇到了同样的问题,我 100% 确定我的密码。我直接在命令行中添加-storepass找到了解决方案。使用这个命令就可以了:

keytool -list -v -keystore C:\....\keystore.jks -storepass HereMyPassword -alias HereMyAlias

我如何使用 Android Studio 2.2.3

解决同样的问题

Android工作室>>文件>项目结构

在左侧的模块下找到您的项目,select它并单击签名选项卡。然后您可以通过单击绿色加号图标创建新配置,并使用现有密钥库密钥填写签名上的所有凭据。 (确保您的“key elias”、“key password”和“Store password”应该与以前使用的相同,现在使用的是相同的密钥存储)

然后转到 flavors 选项卡,select 创建配置文件作为签名配置。

再次转到构建类型选项卡,select 创建配置文件作为签名配置。

确定完成任务

显然 Google 决定将默认密钥库密码设置为 android

The keytool utility prompts you to enter a password for the keystore. The default password for the debug keystore is android. The keytool then prints the fingerprint to the terminal.

https://developers.google.com/android/guides/client-auth

确保常量定义后没有空格:

MYAPP_RELEASE_STORE_FILE=mykeystore.keystore
MYAPP_RELEASE_KEY_ALIAS=keyalias
MYAPP_RELEASE_STORE_PASSWORD=pass
MYAPP_RELEASE_KEY_PASSWORD=pass

我的问题是我在 keyPassword 中设置了存储密码,在 storePassword 中设置了密钥密码,然后一个一个地更改密码,问题就解决了。

我在更新我的应用程序时遇到了类似的问题。 keytool 没有读取正确的密钥库文件,而是指向我几个月前创建但未使用的旧密钥库文件。在网上搜索了一些解决方案,但没有找到。几乎要放弃了,但我考虑通过单击 Build 然后 Clean Project 来清理项目。这个最后的手段对我有用。

对于我的情况(使用 Android Studio),我发现 Keystore 文件无法删除,而且它似乎被 OpenJDK 锁定了。我怀疑 OpenJDK 和 Windows10 的防火墙之间应该有问题。我暂时关闭防火墙。并且有效。

就我而言,我忘记将构建目标从 espresso test 更改为 app:

就我而言,我是从 Evernote 复制并粘贴密钥库和密钥密码,但 Android Studio 没有正确处理它。手动输入密码后,我能够生成 APK。

有时调试模式不需要输入密码,只要在提示输入密码时按回车即可。

最近在使用 keytool 签署外部 apk 时,我不小心篡改了 C:\Users\myuser\.android 中的 debug.keystore 所以我所做的只是备份之前的 debug.keystoredebug.keystore.lock 这两个文件并将其删除。然后重建项目,它会生成一个新的 debug.keystoredebug.keystore.lock 文件。我就是这样修好的。

总结

  1. 备份之前的 debug.keystoredebug.keystore.lock
  2. C:\Users\myuser\.android
  3. 中删除
  4. 重建项目

我在构建签名的 apk 时收到了同样的消息。我认为我的密码是正确的,但 .jks 文件有问题。但 我输入了错误的密码

然后我尝试了另一个可行的密码。

注意:Android当您多次输入错误密码时,studio 不会阻止您。所以尝试另一个可能的密码。

或者,如果您忘记了密码,请尝试在日志文件中搜索密码

转到 => Help => Show Log in Explorer [如果你还没有更新你的 android 工作室]

或转到 => .gradle => 5.4.1(可能不同)=> executionHistory => executionHistory.bin 并搜索 storePassword

我也遇到了同样的问题。

我确定我的密码,但问题出在密码上。

如前所述 post 我什么时候 => .gradle => 5.4.1(可能不同)=> executionHistory => executionHistory.bin 并搜索 storePassword

而且我看到我的密码由于编码原因缺少一个字母:

在 executionHistory.bin 中,密码是:...z§s..... 在我的 keystore.properties 中,密码是:...z§.....

改正后效果很好

同样的问题。我最接近解决它的是遵循@Makarand

的建议

就我而言,我怀疑问题出在密码上,因为我已经被 Android Studio 本身记住了。尽管如此,它还是行不通。我无法在发布模式下生成 de APK 或捆绑包。并得到与上述相同的消息。在这种情况下必须是其他一些原因。

我在 executionHistory.bin 文件中找到了我的密码。它们是预期的,并且两者相同。 我唯一的疑问是在它们前面的符号,在 storePassword 和密码本身之间: Ž

因此,您可能会输入正确的密码,但仍然收到相同的消息。虽然不知道原因。

我遇到了同样的问题,并尝试了下面提到的步骤,现在已经修复了。

第 1 步:确保您的密钥库文件名和密钥别名。

注意:密钥库和别名密码要相同。

a) 在 android 工作室 构建 >> 生成签名的捆绑 Apk/.. 选择 APK >> 下一步

确保记住我们将在 build.gradle & Gradle.properties

中提及的所有字段

b) 项目来源 android >> 应用程序 >> Debug/Release 密钥库

第 2 步: 在 Build.gradle

中配置您的 kestore

打开 android >> 应用程序 >> build.gradle

android >> signinConfigs 下确保所有基于 Debug 或 Release 键的内容都是正确的

步骤 3: 在 gradle.propertie

中配置密钥库

打开android >> gradle.properties

检查下面提到的如果没有,您可以将它与您的 kestore 文件一起添加。

希望对大家有所帮助。

Android Studio 4.2 中似乎存在错误。 IDE 现在似乎将错误的密码永久缓存到密钥库或密钥中。

即使在 TWICE 重新输入正确的凭据后,IDE 仍在缓存其中一个条目的错误值。从这个 post 开始,我不得不在每次构建时手动重新输入两个密码。

更新:取消勾选下次生成APK时记住密码。然后,下次之后,您可以重新检查记住密码,Android Studio 将重新缓存并记住正确的密码。

更新2:令人难以置信的是,执行上述步骤后,该错误随后再次出现。 Android Studio AGAIN 用错误的密码覆盖了其中一个密码,所以看起来我们回到了原点,直到这个错误得到解决:永远清除保存密码复选框并手动输入每个构建的密码。 :-(

我收到此错误是因为,虽然我的 key 密码是正确的,但 keystore 密码是错误的。

和我的密钥密码一样

我们遇到了同样的问题,但后来我们清空了要保存密钥别名的文件夹,然后重试,成功了。