Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.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更新包jarsigner:与key0关联的密钥不是私钥_Java_Android Studio - Fatal编程技术网

Java Android studio更新包jarsigner:与key0关联的密钥不是私钥

Java Android studio更新包jarsigner:与key0关联的密钥不是私钥,java,android-studio,Java,Android Studio,以下是我正在采取的步骤,按照给出的顺序,在修复错误后,通过Android studio更新已发布的应用程序: 修复错误 在build.gradle(模块)上更改为versionCode 2和versionName“1.1” 生成签名包 密钥存储路径为C:\Folder\Folder\Android\MyApp.jks 两个密码都正确 密钥别名:key0(默认为第一次使用) 但随后出现了这个错误: Cause: jarsigner.exefailed with exit code 1 : jars

以下是我正在采取的步骤,按照给出的顺序,在修复错误后,通过Android studio更新已发布的应用程序

  • 修复错误

  • 在build.gradle(模块)上更改为versionCode 2和versionName“1.1”

  • 生成签名包

  • 密钥存储路径为C:\Folder\Folder\Android\MyApp.jks

  • 两个密码都正确

  • 密钥别名:key0(默认为第一次使用)

  • 但随后出现了这个错误:

    Cause: jarsigner.exefailed with exit code 1 :
    jarsigner: key associated with key0 not a private key
    

    是什么原因造成的?

    升级到android studio 3.3后,我也遇到了这个问题,我分3步解决了这个问题。但首先要确保你备份了整个项目

  • 在Android Studio中转到文件>项目结构并从中取消勾选“使用嵌入式JDK”,然后单击确定
  • 转到计算机设置(系统设置)(win+暂停键),然后转到高级系统设置>环境变量。如果JAVA\u HOME不存在,则添加它并设置安装JDK的路径。 由于我无法在以某种方式升级到android studio 3.3设置的项目中找到直接修改jdk路径的方法,因此我(在最后一步)执行了以下操作,但请确保在此之前进行备份。
  • 为了确定我在项目视图中的位置,我从根目录中删除了“.grade”、“idea”、“capture”、“gradle”文件夹,并从“app”中删除了“build”、“release”、“lib”文件夹,保留了“src”。已删除的root.iml和未删除app.iml文件,然后重建项目,然后创建已签名的包
    试了2次就成功了。说实话,最后一步我做了两次,从备份中恢复文件。删除这些文件夹时,我搞砸了1次

    “Build”->“Clean project”,然后“Generate signed…”再次-对我来说效果很好

    如果

    “生成”>“清理项目”

    没有解决你的问题

    请尝试提供以下参考链接:

    对于那些没有“Clean Project”经验的人,请尝试在Android Studio终端中使用以下命令更改密钥密码

    keytool -keypasswd -alias yourAliasName -keystore pathToYourKeystoreFile 
    
    之后,系统会提示您输入密钥库密码,如果正确,您可以更改密钥密码


    我也有同样的问题,我把两个密码都写在了一张纸上,突然(Android Studio更新?)钥匙密码不起作用了。密钥库工作正常,可以选择别名,但在生成已签名的应用程序时,出现了与您相同的错误。

    在尝试此处的所有解决方案后,它要么不工作,要么太复杂,甚至无法工作

    最后,简单地重新启动我的电脑是有帮助的。

    这只是意味着你输入了错误的键让我解释一下
  • 密钥库的密码是否正确
  • 您输入的密码不正确

  • 密码中的特殊字符?读下去


    (不是100%确定,但)我的密钥密码中有特殊字符,我决定删除所有双引号(“),只是因为它可能是罪魁祸首,而且它起了作用。

    对于那些回答这个问题的人来说,为Play Store构建React本机应用程序的发行候选版本,或者如果构建时没有Android Studio

    a) 如果您以前在发布包中有错误,清理项目尤其有用:

    cd android
    ./gradlew clean
    

    b) 检查您的密钥库是否正确创建,并在其中嵌入了有效的可导出证书:

    keytool -export -alias your-keystore-alias -file mycertificate.crt -keystore /path/to/keystore 
    
    生成密钥库时,系统将提示您输入所使用的密钥库密码。如果您成功创建了
    mycertificate.crt
    文件,则密钥库没有任何问题。它是有效的


    c) 如果您没有在gradle release build属性中明确提供密钥密码和存储密码(如下所示),则也会出现
    非私钥
    错误:

    MYAPP_UPLOAD_STORE_FILE=my-app.keystore
    MYAPP_UPLOAD_KEY_ALIAS=my-app
    MYAPP_UPLOAD_STORE_PASSWORD=keystorePassword
    MYAPP_UPLOAD_KEY_PASSWORD=
    
    使用
    keytool
    生成签名证书时,除了密钥库密码外,还有一个可选参数用于生成单独的证书密码。但是,如果未提供证书/密钥密码,它将继承密钥库密码。因此,在这种情况下,工作属性集将是:

    MYAPP_UPLOAD_STORE_FILE=my-app.keystore
    MYAPP_UPLOAD_KEY_ALIAS=my-app
    MYAPP_UPLOAD_STORE_PASSWORD=keystorePassword
    MYAPP_UPLOAD_KEY_PASSWORD=keystorePassword
    

    注意密码的字符数: 6分钟 我已经尝试了20多次=>这是ko 12点可以


    不要使用特殊的car、CAP、NUM,它们都是不足的

    我也有同样的问题,我尝试了干净的构建并使缓存无效/重新启动,但没有成功。最后我输入了一个错误的密钥库密码,然后它显示了一些错误,如
    jarsigner错误:java.lang.RuntimeException:密钥库加载:密钥库被篡改,或password不正确
    。然后我尝试了原始版本,它成功了。

    你对此有什么解决方案吗。我也面临着这个问题,在将android studio更新到凌晨3.3点后仍然面临这个问题,尝试了这里提到的所有解决方案。我使用的是andoird studio gradle插件5.1。1@user93796你也有同样的错误吗e:jarsigner.exe失败,退出代码为1:`?简单但压倒性!我们应该始终清理项目以避免可能出现的类似错误。当我运行此命令时,它会询问我的密码,当我将其放入时,它只会说“keytool错误:java.io.IOException:密钥库被篡改,或密码不正确。”“但是如果我尝试在向导中捆绑我的应用程序,我会输入keystone密码,它可以让我选择要使用的密钥,然后显示上面提到的错误,知道为什么会发生这种情况吗?谢谢。刚刚更新了MYAPP\u UPLOAD\u KEY\u PASSWORD=keystrepassword,所有的工作输出都可能是骗人的。密钥没有问题,只需重新检查密码