【问题标题】:Where is jarsigner?jarsigner 在哪里?
【发布时间】:2012-08-21 13:41:13
【问题描述】:

我在两台使用 open SuSE 12.1 的 Linux 机器上都安装了 Android SDK。我已经多次使用两台机器成功构建 Android 应用程序,并使用调试密钥和我自己的密钥库中的发布密钥对它们进行签名,因此它应该在每台机器上的某个位置。

使用命令

jarsigner

然而,在两台机器上都返回一个 command not found 错误。我查看了 Android SDK 文件夹、Windows 上的 JDK 文件夹和 /usr/lib64/jvm/,但它不是我查看过的任何地方。

我认为它必须使用不同的名称。我也跑过:

 find -name jarsigner

在Linux机器上的整个系统都没有成功。

【问题讨论】:

  • 我的地址位于/usr/bin/jarsigner,尽管find 没有找到它...

标签: java android


【解决方案1】:

这将为您安装 jdk 并检查其中的 jarsigner

sudo apt install -y default-jdk

要查找 jarsigner,您可以使用 whereis jarsigner

【讨论】:

    【解决方案2】:

    就我而言,我试试这个:

    sudo apt install openjdk-11-jdk-headless
    sudo apt install openjdk-8-jdk-headless
    

    我用的是openjdk

    【讨论】:

      【解决方案3】:

      /usr/lib/jvm/java-8-oracle/bin/jarsigner -verbose -sigalg SHA1withRSA中查找

      【讨论】:

        【解决方案4】:

        如果您使用的是 Mac 或 Linux,只需转到终端并输入:

        whereis jarsigner
        

        它会给你 jarsigner 的位置

        【讨论】:

          【解决方案5】:

          对我来说,解决方案是设置 JDK 的全局变量路径。看这里: https://appopus.wordpress.com/2012/07/11/how-to-install-jdk-java-development-kit-and-jarsigner-on-windows/

          【讨论】:

          • 最好在此处添加链接的相关位,以防链接失效或不可用。
          【解决方案6】:

          %JAVA_HOME%\bin\jarsigner

          你可以在那里找到 jarsigner。先安装jdk。

          【讨论】:

          • 我在 JDK 之前安装了 JRE。所以,我正在寻找的路径是:C:\Program Files\Java\jdk1.6.0_45\bin\jarsigner
          • %JAVA_HOME%\bin 在我的 PATH 中没有用作快捷方式。我必须将完整路径放入 PATH 设置中。这不是 Java 命令第一次发生这种情况。 (Windows 7)
          • 对于那些没有任何安装问题的人来说,这是最好的方法。但是,我会使用引号来支持带空格的路径:"%JAVA_HOME%\bin\jarsigner",因为大多数 Windows 安装都在 Program Files 内。
          【解决方案7】:

          当您在 JAVA_HOME 变量中只安装了 JRE 而不是 JDK 时会出现此错误。不幸的是,您不能将它们都安装在同一个变量中,因此您只需使用新的 JDK 安装路径覆盖该变量即可。

          该过程应该与您安装 JRE 的方式相同

          【讨论】:

            【解决方案8】:

            为了子孙后代,如果您尝试使用 jarsigner 使用密钥库对 jar 文件(例如小程序的文件)进行签名,则需要在从密钥库所在的文件夹运行命令时引用 jarsigner在:

            cd "C:\Program Files\Java\jre(version#)\bin"
            

            然后

            "C:\Program Files\Java\jdk(version#)\bin\jarsigner.exe" -keystore mykeystore (PATH TO YOUR .JAR)\MyJarFile.jar alias
            

            上面的内容可能很明显,但我尝试了几次,因为我试图在 JDK 文件夹中调用 jarsigner,它不知道我的密钥库在哪里(在 jre 目录中!),所以我希望这个将帮助那些希望看到针对这种情况的可用语法的人。

            【讨论】:

              【解决方案9】:

              它位于您的 java JDK 安装 (Java SE) 的 bin 文件夹中。如果您只安装了 JRE,您可能没有。

              【讨论】:

              • 事实证明这是问题所在,至少在 Linux 机器上是这样。但是,SDK 必须使用其他东西通过 Eclipse 进行签名,因为我已经在同一台机器上通过 SDK 成功签署了许多构建。
              • 是的,jarsigner 只是使用执行签名的 Java 加密类的前端。
              • “如果你只安装了 JRE”——这部分对我来说很关键。尝试为 Web 部署创建 JNLP。 JRE 中存在“keytool”。这个答案帮助我在 JDK 中寻找“jarsigner”。
              • 在:C:/Program Files/AdoptOpenJDK/jdk-8.0.265.01-hotspot/bin/jarsigner.exe
              • 在我的例子中是 C:\Program Files\Java\jdk-15.0.1\bin
              【解决方案10】:

              如果找不到,请从here下载并安装Java JDK

              【讨论】:

                猜你喜欢
                • 2012-07-25
                • 1970-01-01
                • 1970-01-01
                • 2010-09-21
                • 2012-10-05
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2021-05-28
                相关资源
                最近更新 更多