¿Dónde está jarsigner?

Tengo el SDK de Android instalado en una máquina Linux con SuSE abierto 12.1. He utilizado ambas máquinas para crear con éxito aplicaciones de Android muchas veces y las firmo ambas con una clave de depuración para probar y una clave de liberación de mi propio almacén de claves, por lo que debería estar en algún lugar de cada máquina.

Usando el comando

jarsigner 

Sin embargo, devuelve un error de comando no encontrado en ambas máquinas. He buscado en la carpeta Android SDK, carpeta JDK en Windows, y / usr / lib64 / jvm / pero no es en cualquier lugar que he buscado.

Supongo que debe estar bajo un nombre diferente. También he corrido:

  find -name jarsigner 

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

Está en la carpeta bin de su JDK Java Install (Java SE). Si solo tiene instalado el JRE probablemente no lo tenga.

% JAVA_HOME% \ bin \ jarsigner

Usted puede encontrar jarsigner allí. Instale jdk primero.

Para el bien de la posteridad, si está intentando usar jarsigner para firmar un archivo jar (como el de un applet) con un almacén de claves, necesitará hacer referencia a jarsigner mientras ejecuta el comando desde la carpeta en la que está su keystore:

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

entonces

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

Lo anterior podría ser obvio, pero me tomó unos cuantos intentos porque estaba tratando de llamar jarsigner mientras 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 aquellos Que le gustaría ver una sintaxis utilizable para esa situación.

Si no lo encuentra, descargue e instale Java JDK desde aquí

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

El proceso debe ser el mismo que el JRE instalado

Para mí la solución fue establecer la ruta de variable global al JDK. Vea aquí: https://appopus.wordpress.com/2012/07/11/how-to-install-jdk-java-development-kit-and-jarsigner-on-windows/

Si está en Mac o Linux, simplemente vaya al terminal y escriba:

 whereis jarsigner 

Le dará la localización del jarsigner

  • Excepción generada durante la representación: Línea de archivo XML binario # -1 error inflar clase
  • Package org.apache.http.client no existe
  • Cómo limitar EditText para introducir sólo valores de flotante en Java?
  • ¿Cómo diferencia exactamente JVM de Dalvik y / o ART?
  • ¿Podemos instanciar una clase abstracta?
  • Geocoder "Tiempo de espera de respuesta del servidor"
  • Alineación derecha del texto en android?
  • Tienes problemas para conectarte a Google Play Services; Obtener el código de estado Cancelado
  • ¿Cómo se ha terminado la actividad?
  • Generar un Javadoc para mi proyecto de Android
  • Multi-puntos Trilateration para ser usado con datos de beacon en Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.