2012-08-27 18 views
44

Tengo instalado el SDK de Android tanto en una máquina Linux con SuSE 12.1 abierto. He usado ambas máquinas para crear con éxito aplicaciones de Android muchas veces y las he firmado con una clave de depuración para probar y una clave de lanzamiento de mi propio almacén de claves, por lo que debería estar en algún lugar de cada máquina.¿Dónde está jarsigner?

Usando el comando

jarsigner 

Devuelve un comando no se encuentra el error en ambas máquinas, sin embargo. He buscado en la carpeta Android SDK, en la carpeta JDK en Windows y/usr/lib64/jvm/pero no he buscado en ninguna parte.

Supongo que debe tener un nombre diferente. También corrí:

find -name jarsigner 

en todo el sistema en la caja de Linux sin éxito.

+0

mina se encuentra en '/usr/bin/jarsigner', aunque 'find' no lo encontró ... – Nearoo

Respuesta

74

Se encuentra en la carpeta bin de su instalación java JDK (Java SE). Si solo tienes el JRE instalado, probablemente no lo tengas.

+0

Esto resultó ser el problema, al menos en la caja de Linux. Sin embargo, debe haber algo más que el SDK utiliza para la firma a través de Eclipse, porque ya he firmado muchas compilaciones con éxito a través del SDK en la misma máquina. – mimicocotopus

+3

Sí, jarsigner es solo una interfaz para usar las clases de cifrado de Java que realizan la firma. – mparaz

+1

"Si solo tiene el JRE instalado", esta parte fue fundamental para mí. Intentando crear un JNLP para la implementación web. "keytool" existe en el JRE. Esta respuesta me ayudó a buscar "jarsigner" en el JDK. – Jonathan

14

% JAVA_HOME% \ bin \ jarsigner

puede encontrar jarsigner allí. Instala jdk primero.

+2

Tenía JRE instalado antes de JDK. Entonces, la ruta que estaba buscando era: C: \ Program Files \ Java \ jdk1.6.0_45 \ bin \ jarsigner – Jason

+0

% JAVA_HOME% \ bin no funcionaba como acceso directo en mi PATH. Tuve que poner la ruta completa en la configuración PATH. Esta no es la primera vez que esto sucede con los comandos de Java. (Windows 7) – quilkin

+0

Esa es la mejor manera para aquellos que no tienen problemas de instalación. Sin embargo, usaría comillas para apoyar la ruta con espacios en blanco: '"% JAVA_HOME% \ bin \ jarsigner "' ya que la mayoría de las instalaciones de Windows están dentro de 'Archivos de programa'. – Alexei

3

Si no lo puede encontrar, descargar e instalar Java JDK de here

4

Por el bien de la posteridad, si usted está tratando de utilizar realmente jarsigner para firmar un archivo JAR (como la de un applet) con una almacén de claves, tendrá que hacer referencia a jarsigner mientras se ejecuta el comando desde la carpeta que el almacén de claves está en:

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

continuación

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

el abov Puede ser obvio, pero me costó un par de intentos porque estaba tratando de llamar a jarsigner mientras estaba dentro de la carpeta JDK, que no tenía conocimiento de dónde estaba mi keystore (¡en el directorio jre!), así que espero que esto ayude a quienes Me gustaría ver una sintaxis útil para esa situación.

0

Este error se produce cuando solo tiene JRE instalado en lugar de JDK en la variable JAVA_HOME. Desafortunadamente, no puede tener ambos instalados en la misma variable, por lo que solo necesita sobrescribir la variable con la nueva ruta de instalación de JDK.

El proceso debe ser la misma que la forma en que tenía JRE instalado

2

Si se encuentra en Mac o Linux, sólo tiene que ir a la terminal y escribe:

whereis jarsigner 

que le dará la ubicación del jarsigner