2012-08-27 102 views
44

我在使用開放式SuSE 12.1的Linux機器上安裝了Android SDK。我已經使用這兩臺機器成功構建Android應用程序多次,並使用用於測試的調試密鑰和我自己的密鑰庫中的釋放密鑰對它們進行簽名,因此它應該位於每臺計算機上的某個位置。jarsigner在哪裏?

使用命令

jarsigner 

返回未找到錯誤在兩臺機器上一個命令,但是。我查看了Android SDK文件夾,Windows上的JDK文件夾和/ usr/lib64/jvm /,但它並不是我看過的任何地方。

我認爲它必須使用不同的名稱。我也跑了:

find -name jarsigner 

整個系統在Linux上沒有成功。

+0

該礦位於'的位置/ usr/bin/jarsigner',即使'find'沒有找到它... – Nearoo

回答

74

它位於Java JDK安裝(Java SE)的bin文件夾中。如果你只安裝了JRE,你可能沒有它。

+0

原來這是問題,至少在Linux上。但是,SDK通過Eclipse進行簽名時必須有其他東西,因爲我已經通過SDK在同一臺機器上成功簽署了許多版本。 – mimicocotopus

+3

是的,jarsigner只是使用執行簽名的Java加密類的前端。 – mparaz

+1

「如果你只安裝了JRE」 - 這部分對我來說很重要。試圖創建一個用於Web部署的JNLP。 「keytool」存在於JRE中。這個答案幫助我在JDK中尋找「jarsigner」。 – Jonathan

14

%JAVA_HOME%\ BIN \的jarsigner

你可以找到的jarsigner那裏。先安裝jdk。

+2

我在JDK之前安裝了JRE。所以,我正在尋找的路徑是:C:\ Program Files \ Java \ jdk1.6.0_45 \ bin \ jarsigner – Jason

+0

%JAVA_HOME%\ bin在我的PATH中不能用作快捷方式。我必須將完整路徑放入PATH設置。這不是Java命令第一次發生這種情況。 (Windows 7) – quilkin

+0

這對於那些沒有任何安裝問題的人來說是最好的方式。但是,我會使用引號來支持帶空格的路徑:''%JAVA_HOME%\ bin \ jarsigner「',因爲大多數Windows安裝位於'Program Files'內。 – Alexei

3

如果你不能找到它,請下載並here

4

安裝Java JDK爲後人的緣故,如果你想實際使用的jarsigner簽署jar文件(如一個applet與)密鑰庫,你需要引用的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 

的ABOV e可能是顯而易見的,但是我花了幾次嘗試,因爲我試圖在JDK文件夾內調用jarsigner,而JDK文件夾並不知道我的密鑰庫在哪裏(在jre目錄中!),所以我希望這會幫助那些誰希望看到這種情況的可用語法。

0

如果您只在您的JAVA_HOME變量中安裝了JRE而不是JDK,則會出現此錯誤。不幸的是,你不能將它們都安裝在同一個變量中,所以你只需要用新的JDK安裝路徑覆蓋變量。

的過程應該是一樣的,你必須安裝JRE

2

如果你是Mac或Linux操作系統,只是去到終端,然後鍵入:

whereis jarsigner 

它會給你的jarsigner