2010-11-24 10 views
15

Estoy tratando de firmar la versión de mi aplicación para Android (depuración se firmó fina) para la API de Google Maps:Keytool problema de firma: Keystore fue manipulado, o la contraseña era incorrecta

keytool -list -alias cancertrials -keystore /Users/syalam/Documents/workspace/Cancer_Trials/keys/release -storepass android -keypass cancertrials 

pero consigo el error:

java.io.IOException: Keystore was tampered with, or password was incorrect 

estoy seguro de que la contraseña es correcta, porque cuando intento exportar mi aplicación en Eclipse, que pide el almacén de claves y la contraseña, y estoy entrando en la forma adecuada.

¿No estoy seguro de por qué no puedo firmar esto? Necesito mostrar Google Maps en modo de lanzamiento (trabajando en modo de depuración).

Respuesta

24

No creo que tenga que incluir un storepass cuando solo hace una lista. El storepass cifra la clave privada que no se muestra al hacer una lista. Intente esto:

keytool -list -keystore /Users/salam/Documents/yada/yada 

Luego proporcione la contraseña de su keystore cuando se le solicite. Si eso funciona, entonces puedes probar solo el keypass en la línea de comando.

Es posible que también desee comprobar y asegurarse de utilizar la misma versión de Java. No creo que ese sea el problema, pero si lo anterior no ayuda a probarlo.

+1

Eso funcionó muy bien. ¡Ojalá Google hubiera escrito esto en sus documentos, me habría ahorrado un dolor de cabeza! –

2

Tengo el mismo problema con jarsigner en jdk1.6.0.31 cuando cambié de nuevo a 1.6.0_29 jarsigner funciona correctamente. Por favor, tenga en cuenta la versión jdk.

2

Compruebe su nombre de alias una vez. Algunas veces su alias es diferente de keytool alias name, entonces da el mismo error. es decir

5

De alguna manera en Windows, keytool no aceptaría la contraseña. Solo necesitaba la contraseña de SHA1 para configurar el ID del cliente en el proyecto en la consola de Google Dev. Lo siguiente parecía funcionar para mí

keytool --list --keystore android.jks --protected 

Esto imprimía las claves SHA1 para todos los alias.

+0

Esto funciona para mí, gracias! – StevenTB

+0

Funciona en Mac OS – Trip

0

keytool -list -keystore "Path of the keystore"

Este comando pedirá la contraseña en linux máquinas, mientras que en la máquina de las ventanas, sólo tiene que entrar en la lista de claves.

Cuestiones relacionadas