Java Android Studio-密钥库被篡改或密码不正确
我正在尝试使用Android Studio v1.4中的内置小部件生成一个签名的APK 然而,我得到了这个恼人的错误 错误:任务“:app:packageRelease”的执行失败。 无法从存储“C:\Users\Lancelot\Desktop\release.jks”读取密钥cckey:密钥库被篡改,或密码不正确 我可以像下面的截图一样检索我的密钥别名 (要访问此处,密钥存储密码必须正确;否则将显示错误) 然后我输入了我的密钥密码,但在签署APK时没有运气。。。 我甚至尝试使用命令行Java Android Studio-密钥库被篡改或密码不正确,java,android,keystore,android-keystore,Java,Android,Keystore,Android Keystore,我正在尝试使用Android Studio v1.4中的内置小部件生成一个签名的APK 然而,我得到了这个恼人的错误 错误:任务“:app:packageRelease”的执行失败。 无法从存储“C:\Users\Lancelot\Desktop\release.jks”读取密钥cckey:密钥库被篡改,或密码不正确 我可以像下面的截图一样检索我的密钥别名 (要访问此处,密钥存储密码必须正确;否则将显示错误) 然后我输入了我的密钥密码,但在签署APK时没有运气。。。 我甚至尝试使用命令行key
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 studio>>文件>项目结构 在左侧的模块下找到您的项目并选择它,然后单击签名选项卡。然后,您可以通过单击绿色加号图标创建新配置,并使用现有密钥库密钥填充签名上的所有凭据。 (请确保您的“密钥elias”、“密钥密码”和“存储密码”应与以前使用的密钥存储区现在使用的密钥存储区相同) 然后转到flavors选项卡,选择created config file as Signing config 再次转到中的“生成类型”选项卡,并选择“已创建的配置文件作为签名配置” 好的,完成任务
快乐编码:)显然,谷歌决定将默认密钥库密码设置为
android
keytool实用程序提示您输入密钥库的密码。调试密钥库的默认密码是android
。然后钥匙工具将指纹打印到终端
请参见确保常量定义后没有空格:
MYAPP_RELEASE_STORE_FILE=mykeystore.keystore
MYAPP_RELEASE_KEY_ALIAS=keyalias
MYAPP_RELEASE_STORE_PASSWORD=pass
MYAPP_RELEASE_KEY_PASSWORD=pass
我的问题是我在
keyPassword
中设置了存储密码,在storePassword
中设置了密钥密码,然后一个接一个地更改密码,问题就解决了。我在更新应用程序时遇到了类似的问题。keytool没有读取正确的密钥库文件,而是指向我几个月前创建但未使用的旧密钥库文件。在网上搜索了一些解决方案,但没有找到。几乎放弃了,但我想通过单击构建然后清理项目来清理项目。这个最后的办法对我很有效。对于我的案例(使用Android Studio),我发现密钥库文件无法删除,而且它似乎被OpenJDK锁定。我怀疑OpenJDK和Windows10的防火墙之间应该有问题。我暂时关闭防火墙。它是有效的。在我的例子中,我忘了将构建目标从浓缩咖啡测试更改为应用程序:在我的例子中,我复制并粘贴了Evernote的密钥库和密钥密码,Android Studio没有正确处理它。手动输入密码后,我就可以生成APK了。有时调试模式不需要输入密码,只需按enter键,当提示询问密码:)最近在使用keytool签署外部apk时,我无意中篡改了C:\Users\myuser\.android
中的debug.keystore
和debug.keystore.lock
这两个文件并将其删除。然后重新生成项目,并生成一个新的debug.keystore
和debug.keystore.lock
文件。我就是这样修好的
总结
debug.keystore
和debug.keystore.lock
C:\Users\myuser\.android中删除它
我在建立apk时也有同样的信息。我认为我的密码是正确的,并且.jks文件有问题。但是 我输入了错误的密码 然后我尝试了另一个可能的密码,它只是工作 注意:当您多次输入错误密码时,Android studio不会阻止您。因此,请尝试另一种可能的密码。 或者,如果忘记了密码,请尝试在日志文件中搜索密码 转到=>
帮助
=>在资源管理器中显示日志
[如果您在此期间没有更新android studio]
或者转到=>.gradle
=>5.4.1
(可能不同)=>executionHistory=>executionHistory.bin
搜索
storePassword
我也遇到了同样的问题
我很确定我的密码,但密码是个问题
正如我在之前的帖子中提到的,我应该
=>.gradle=>5.4.1(可能不同)=>executionHistory=>executionHistory.bin并搜索storePassword
我发现由于编码原因,我的密码丢失了一个字母:
在executionHistory.bin中,密码是:…z§s。。。。。
在我的keystore.properties中,密码是:…z§
改正后