jarsigner在哪里?

mim*_*pus 57 java android

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

使用命令

jarsigner
Run Code Online (Sandbox Code Playgroud)

但是,返回两台计算机上的命令not found错误.我查看了Android SDK文件夹,Windows上的JDK文件夹和/ usr/lib64/jvm /,但它不是我看过的任何地方.

我认为它必须是一个不同的名称.我也跑:

 find -name jarsigner
Run Code Online (Sandbox Code Playgroud)

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

Mat*_*lfe 90

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

  • 是的,jarsigner只是使用执行签名的Java加密类的前端. (3认同)

Fra*_*ola 16

%JAVA_HOME%\ BIN \的jarsigner

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

  • 我在JDK之前安装了JRE.所以,我正在寻找的路径是:C:\ Program Files\Java\jdk1.6.0_45\bin\jarsigner (2认同)

sta*_*uxe 8

为了后人的缘故,如果您尝试使用jarsigner实际使用密钥库对jar文件(例如applet的文件)进行签名,则需要在从密钥库所在的文件夹运行命令时引用jarsigner:

cd "C:\Program Files\Java\jre(version#)\bin"
Run Code Online (Sandbox Code Playgroud)

然后

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

以上可能是显而易见的,但它花了我几次尝试,因为我试图在JDK文件夹中调用jarsigner,它不知道我的密钥库在哪里(在jre目录中!),所以我希望这将有助于那些谁希望看到这种情况的可用语法.


use*_*100 7

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

whereis jarsigner
Run Code Online (Sandbox Code Playgroud)

它将为您提供jarsigner的位置