2012-08-27 51 views
44

L'SDK Android è installato su entrambe le macchine Linux utilizzando SuSE 12.1. Ho usato entrambe le macchine per creare con successo molte app Android e firmarle entrambe con una chiave di debug per test e una chiave di rilascio dal mio keystore, quindi dovrebbe trovarsi da qualche parte su ogni macchina.Dove si trova jarsigner?

Utilizzando il comando

jarsigner 

Restituisce un comando non trovato errore su entrambe le macchine, però. Ho cercato nella cartella Android SDK, nella cartella JDK su Windows e/usr/lib64/jvm/ma non è stato visualizzato da nessuna parte.

Suppongo che deve essere sotto un nome diverso. Ho anche eseguito:

find -name jarsigner 

su tutto il sistema sulla scatola Linux senza successo.

+0

miniera è stato localizzato a '/usr/bin/jarsigner', anche se 'find' non lo ha trovato ... – Nearoo

risposta

74

Si trova nella cartella bin dell'installazione JDK java (Java SE). Se hai installato JRE, probabilmente non ce l'hai.

+0

Questo si è rivelato essere il problema, almeno sulla scatola Linux. Deve esserci qualcos'altro che l'SDK utilizza per la firma attraverso Eclipse, tuttavia, poiché ho già firmato molte build con successo attraverso l'SDK sulla stessa macchina. – mimicocotopus

+3

Sì, jarsigner è solo un front-end per utilizzare le classi di crittografia Java che eseguono la firma. – mparaz

+1

"Se si installa solo JRE", questa parte è stata fondamentale per me. Cercando di creare un JNLP per la distribuzione web. "keytool" esiste nel JRE. Questa risposta mi ha aiutato a cercare "jarsigner" nel JDK. – Jonathan

14

% JAVA_HOME% \ bin \ jarsigner

Potete trovare jarsigner lì. Installa jdk prima.

+2

Ho installato JRE prima di JDK. Quindi, il percorso che stavo cercando era: C: \ Programmi \ Java \ jdk1.6.0_45 \ bin \ jarsigner – Jason

+0

% JAVA_HOME% \ bin non ha funzionato come scorciatoia nel mio PERCORSO. Ho dovuto inserire il percorso completo nell'impostazione PATH. Questa non è la prima volta che questo è successo con i comandi Java. (Windows 7) – quilkin

+0

Questo è il modo migliore per coloro che non hanno problemi di installazione. Tuttavia, utilizzerei le virgolette per supportare il percorso con spazi vuoti: '"% JAVA_HOME% \ bin \ jarsigner "' poiché la maggior parte delle installazioni di Windows si trovano in 'Programmi '. – Alexei

3

Se non è possibile trovare, scaricare e installare Java JDK da here

4

Per l'amor di posteri, se si sta cercando di utilizzare effettivamente jarsigner per firmare un file jar (come quella di un applet) con un chiavi, è necessario fare riferimento jarsigner durante l'esecuzione del comando dalla cartella che il vostro keystore è in:

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

poi

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

L'abov E potrebbe essere ovvio, ma mi ci sono voluti alcuni tentativi perché stavo cercando di chiamare jarsigner all'interno della cartella JDK, che non sapeva dove fosse il mio keystore (nella directory jre!), quindi spero che questo possa aiutare chi piacerebbe vedere una sintassi utilizzabile per quella situazione.

0

Questo errore si verifica quando JRE è installato solo al posto di JDK nella variabile JAVA_HOME. Sfortunatamente, non è possibile averli entrambi installati nella stessa variabile, quindi è sufficiente sovrascrivere la variabile con il nuovo percorso di installazione JDK.

Il processo dovrebbe essere lo stesso del modo in cui aveva installato JRE

2

Se siete su Mac o Linux, basta andare al terminale e digitare:

whereis jarsigner 

Vi darà la posizione del jarsigner