我正在尝试使用Android Studio v1.4中的内置窗口小部件生成已签名的APK。
然而,我遇到了这个恼人的错误
错误:任务':app:packageRelease'执行失败。 无法从商店读取密钥cc键" C:\ Users \ Lancelot \ Desktop \ release.jks":密钥库被篡改,或密码不正确
(为了到达此处,密钥库密码必须正确;否则它将显示错误)
然后我输入了我的密码,但签署APK时没有运气...
我甚至尝试使用命令行keytool -keypasswd -alias cckey -keystore C:\Users\Lancelot\Desktop\release.jks
更改密钥密码。通过运行这个我需要在输入新密码之前正确输入旧密码,这一切都经过了;这证明关键密码在第一时间并没有错。
所以问题是,如果我的密钥存储密码,密钥别名和密钥密码都是正确的,那么它有什么问题呢?
答案 0 :(得分:10)
显然我刚刚发现几个月前发布的另一个post解决了我几天挣扎的问题......
只需将密钥库和密钥别名密码更改为相同即可使其正常工作。虽然我在发布更新之前仍然不知道为什么同一个密钥库工作;在我更改密码之前不再工作了。
如果有人回答,请让所有人知道!
答案 1 :(得分:9)
更新我的应用程序时遇到类似的问题。密钥工具没有读取正确的密钥库文件,而是指向了我几个月前创建但未使用的旧密钥库文件。在线搜索了一些解决方案,但没有找到。几乎放弃了,但我考虑过通过单击 Build 然后 Clean Project 清理项目。这最后的手段对我有用。
答案 2 :(得分:6)
我遇到了同样的问题,而且我100%确定我的密码。我通过在命令行中添加-storepass
直接找到了解决方案。使用此命令可以解决问题:
keytool -list -v -keystore C:\....\keystore.jks -storepass HereMyPassword -alias HereMyAlias
答案 3 :(得分:5)
显然,Google决定将默认密钥库密码设置为android
。
keytool实用程序会提示您输入密钥库的密码。调试密钥库的默认密码为
android
。然后keytool将指纹打印到终端。
答案 4 :(得分:4)
我如何用android studio 2.2.3解决同样的问题
Android studio>>档案>项目结构
在左侧的模块下找到您的项目并选择它,然后单击签名选项卡。然后,您可以通过单击绿色加号图标创建新配置,并使用现有密钥库密钥填写签名上的所有凭据。 (确保您的"密钥elias""密码""存储密码"应与之前使用的密钥存储区相同;
然后转到flavors选项卡并选择创建的配置文件作为Signing config。
再次转到构建类型选项卡,然后选择创建的配置文件作为签名配置。
并且可以完成任务
快乐的编码:)
答案 5 :(得分:3)
确保常量定义后没有空格:
MYAPP_RELEASE_STORE_FILE=mykeystore.keystore
MYAPP_RELEASE_KEY_ALIAS=keyalias
MYAPP_RELEASE_STORE_PASSWORD=pass
MYAPP_RELEASE_KEY_PASSWORD=pass
答案 6 :(得分:2)
Android Studio 4.2 中似乎存在错误。 IDE 现在似乎将错误的密码永久缓存到密钥库或密钥中。
即使在两次重新输入正确的凭据后,IDE 也会缓存其中一个条目的错误值。在这篇文章中,我不得不在每次构建时手动重新输入两个密码。
更新:在下次生成 APK 时取消选中记住密码。然后,下次您可以重新检查记住密码,Android Studio 将重新缓存并记住正确的密码。
更新 2:令人难以置信的是,在执行上述步骤后,该错误随后再次出现。 Android Studio 再次用错误的密码覆盖其中一个密码,因此在解决此错误之前,我们似乎又回到了原点:永远清除保存密码复选框并手动输入每个构建的密码。 :-(
答案 7 :(得分:1)
就我而言,我从Evernote复制并粘贴了密钥库和密钥密码,而Android Studio无法正确处理它。手动输入密码后,我可以生成APK。
答案 8 :(得分:1)
同样的问题。我最接近解决它的方法是遵循@Makarand https://stackoverflow.com/a/59386198/3187095
的建议就我而言,我怀疑问题是密码,因为 Android Studio 本身记住了它。尽管如此,它还是行不通。我无法在发布模式下生成 de APK 或 bundle。并获得与上述相同的消息。在这种情况下,必须有其他一些原因。
我在 executionHistory.bin 文件中找到了我的密码。它们是预期的,两者都是相同的。 我唯一的疑问是在 storePassword 和密码本身之间有一个符号:
因此,您可能会输入正确的密码,但仍然收到相同的消息。虽然不知道原因。
答案 9 :(得分:0)
对于我的情况(使用Android Studio),我发现无法删除Keystore文件,并且它似乎已被OpenJDK锁定。我怀疑OpenJDK和Windows10的防火墙之间应该有问题。我暂时关闭防火墙。而且有效。
答案 10 :(得分:0)
就我而言,我忘记了从浓缩咖啡测试到应用程序的构建目标:
答案 11 :(得分:0)
有时您不需要输入调试模式的密码,只需在提示输入密码时按Enter键即可:
答案 12 :(得分:0)
最近在用keytool签名外部apk时,我不小心篡改了debug.keystore
中的C:\Users\myuser\.android
,所以我所做的只是备份了先前的debug.keystore
和debug.keystore.lock
这两个文件并删除了它。然后重建项目,并生成一个新的debug.keystore
和debug.keystore.lock
文件。这就是我固定我的方式。
摘要
debug.keystore
和debug.keystore.lock
C:\Users\myuser\.android
删除它答案 13 :(得分:0)
构建签名的APK时,我有相同的消息。我以为我的密码是正确的,并且.jks文件存在问题。但 我输入了错误的密码
然后我尝试了另一个可能有效的密码。
注意:当您多次输入错误的密码时,Android Studio不会阻止您。因此尝试另一个可能的密码。
或者如果您忘记了密码,请尝试在日志文件中搜索密码
转到=> Help
=> Show Log in Explorer
[如果您之间没有更新Android Studio,则>
或者转到=> .gradle
=> 5.4.1
(可能有所不同)=> executionHistory => executionHistory.bin
并搜索storePassword
答案 14 :(得分:0)
我也一直在努力解决同样的问题。
我确定我的密码,但是密码是问题所在。
正如我在较早的帖子中提到的 => .gradle => 5.4.1(可能有所不同)=> executionHistory => executionHistory.bin并搜索storePassword
然后我发现我的密码由于编码原因而缺少字母:
在executionHistory.bin中,密码为:...z§s..... 在我的keystore.properties中,密码是:...z§.....
更正此问题后,效果很好。
答案 15 :(得分:0)
我遇到了同样的问题,并尝试了下面提到的步骤现在已修复。
第 1 步:确保您的密钥库文件名和密钥别名。
注意:Keystore 和别名密码要相同。
a) 在安卓工作室 构建 >> 生成已签名的捆绑 Apk/.. 选择APK >> 下一步
确保记住我们将在 build.gradle 和 Gradle.properties
中提到的所有字段b) 项目来源 android >> 应用 >> 调试/发布密钥库
第 2 步:在 Build.gradle 中配置您的 kestore
打开 android >> app >> build.gradle
在 android >> signinConfigs 下,根据 Debug 或 Release 键确保所有内容都正确
第 3 步:在 gradle.properie 中配置 Keystore
打开 android >> gradle.properties
检查下面提到的如果不是,您可以将其与您的 kestore 文件一起添加。
希望对大家有所帮助。
答案 16 :(得分:0)
我的问题是我在keyPassword
中设置了存储密码,并在storePassword
中设置了密钥密码,并且一次又一次地更改了密码。