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.
确保常量定义后没有空格:
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.keystore
和 debug.keystore.lock
这两个文件并将其删除。然后重建项目,它会生成一个新的 debug.keystore
和 debug.keystore.lock
文件。我就是这样修好的。
总结
- 备份之前的
debug.keystore
和 debug.keystore.lock
- 从
C:\Users\myuser\.android
中删除
- 重建项目
我在构建签名的 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
密码是错误的。
和我的密钥密码一样
我们遇到了同样的问题,但后来我们清空了要保存密钥别名的文件夹,然后重试,成功了。
我正在尝试使用 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.
确保常量定义后没有空格:
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.keystore
和 debug.keystore.lock
这两个文件并将其删除。然后重建项目,它会生成一个新的 debug.keystore
和 debug.keystore.lock
文件。我就是这样修好的。
总结
- 备份之前的
debug.keystore
和debug.keystore.lock
- 从
C:\Users\myuser\.android
中删除
- 重建项目
我在构建签名的 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
密码是错误的。
和我的密钥密码一样
我们遇到了同样的问题,但后来我们清空了要保存密钥别名的文件夹,然后重试,成功了。