Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android Studio-密钥库被篡改或密码不正确_Java_Android_Keystore_Android Keystore - Fatal编程技术网

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

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

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

然而,我得到了这个恼人的错误

错误:任务“:app:packageRelease”的执行失败。 无法从存储“C:\Users\Lancelot\Desktop\release.jks”读取密钥cckey:密钥库被篡改,或密码不正确

我可以像下面的截图一样检索我的密钥别名

(要访问此处,密钥存储密码必须正确;否则将显示错误)

然后我输入了我的密钥密码,但在签署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 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§

    改正后