Android Studio: no se puede recuperar la clave

95

He buscado StackOverflow por un tiempo, pero solo quería asegurarme ...

Limpié mi computadora portátil hace un tiempo y hice una copia de seguridad de todos mis archivos. Tengo una copia de seguridad de mi archivo android.jks y está nuevamente en su lugar. Cuando intento generar un APK firmado, me da el mismo error temido que todos están recibiendo:

Error:Execution failed for task ':app:packageRelease'.
> Failed to read key conjugationappkey from store     
"/Users/wasimsandhu/android.jks": Cannot recover key

Tengo mi android.jks, la contraseña de la clave, la contraseña del almacén de claves. Todo es correcto. ¿Qué me estoy perdiendo? Hice una copia de seguridad de todos mis archivos, así que si hay un archivo específico que necesito, puedo encontrarlo, pero no tengo idea de qué hacer ...

Si no tengo ningún sentido, pídame que lo aclare. ¡Gracias!

wasimsandhu
fuente
2
Si ha utilizado el carácter & o @ en la contraseña del almacén de claves, no se desplace hacia abajo hasta la sección de respuestas, vaya a este enlace para obtener la respuesta de sharma.
meyasir

Respuestas:

116

No me sorprende que esto no haya ganado ningún impulso, pero esto es lo que hice por cualquiera que se tropiece con esta publicación.

Como dije, todos mis archivos fueron respaldados. Restauré el archivo android.jks de una copia de seguridad anterior. Luego, abrí una ventana de Terminal y escribí lo siguiente:

keytool -storepasswd -new [insert new keystore password] -keystore [insert keystore file name]

keytool -keypasswd -alias [insert alias] -new [insert new key password] -keystore [insert keystore file name]

El almacén de claves y las contraseñas de las claves deben ser iguales. Esto solucionó mi problema y espero que también te ayude.

wasimsandhu
fuente
5
¡Gracias! ¿Cómo averiguaste que las contraseñas tienen que ser las mismas? Empecé a recibir este error hoy. Hasta ahora todo funcionaba bien con dos contraseñas diferentes.
Alen Siljak
6
Mis contraseñas son las mismas y sigo recibiendo este error. Pude firmar la versión anterior con la misma clave. ¿Y ahora que debo hacer?
Tushar Gogna
1
Me he enfrentado al mismo problema. Anteayer he generado con éxito APK firmado y hoy nuevamente el mismo problema. ¿Alguien puede tener una solución permanente?
Neo
5
Todavía está dando este error en mi caso: "error de keytool: java.security.UnrecoverableKeyException: No se puede recuperar la clave"
0xAliHn
2
Para mí también, el mismo problema. después de ejecutar la primera línea, solicita una contraseña. Doy, pero luego dice "error de herramienta de claves ... almacén de claves fue manipulado o la contraseña es incorrecta"
Ammar Bujari
64

[Actualización: esto ya no funciona en Android Studio 3.0 y superior]

Enfrenté un problema similar y ninguna de las soluciones funcionó después de perder 3 horas en Internet, decidí profundizar.

Así es como lo resolví: El error "No se puede recuperar la clave" para mí fue porque mi "Contraseña del almacén de claves" era correcta pero la "Contraseña de la clave" (del alias de la clave) era incorrecta . Estaba bastante seguro de que ambas contraseñas eran las mismas, pero para mi consternación no lo eran y no sabía cuál era la segunda contraseña. Como ya había firmado un APK antes, revisé el archivo de registro que se puede encontrar:

  • C: \ Users \ your_username \ .AndroidStudio2.1 \ system \ log \

Abra los archivos de registro de la fecha en la que firmó el apk y busque las siguientes entradas:

 INFO - .project.GradleExecutionHelper - Passing command-line args to Gradle Tooling API: [--configure-on-demand, -Pandroid.injected.invoked.from.ide=true, 
-Pandroid.injected.signing.store.file=E:\HobbyProjects\XYZProject\gpsjs.jks, 
-Pandroid.injected.signing.store.password=***KeyStorePassword***, 
-Pandroid.injected.signing.key.alias=***alias_name***, 
-Pandroid.injected.signing.key.password=***Key password***, 

Y encontrará las contraseñas en texto plano. Esto incluso funcionará si olvida las contraseñas.

Build3r
fuente
3
¡SI! ¡FINALMENTE! Mi contraseña estaba en el archivo "idea" dentro de la carpeta que mencionaste. Incluso intenté usar un descifrador de contraseñas, pero me dio el pase de alias y pensé que era del almacén de claves, pero no lo era.
George
¡Gracias! Estaba usando el master passwordque ingresé al firmar el apk, pero solo necesitaba repetir el key password.
JCarlosR
8
¿Funciona esto para AndroidStudio3.0? Veo mis contraseñas como *********.
TheLearner
1
Mi archivo dice: -Pandroid.injected.signing.store.password = *********, -Pandroid.injected.signing.key.alias = mykey, -Pandroid.injected.signing.key.password = * ********
Androidcoder
2
El equipo de estudio de Android @Androidcoder solucionó esta laguna en las versiones recientes.
Build3r
24

Si puede ayudar a alguien, el problema en mi caso fue que la "Contraseña del almacén de claves" y la "Contraseña de la clave" eran incorrectas.

MorZa
fuente
14

Probé todas las sugerencias dadas en respuestas y comentarios :(

Mi contraseña clave y la contraseña del almacén de claves son exactamente iguales. Usando Android Studio 3.4

Lo que funcionó para mí fue forzar el cierre de Android Studio, comenzar de nuevo, limpiar y reconstruir el proyecto y luego generar apk firmado. todas las configuraciones son exactamente iguales pero esta vez funcionó

Zeeshan Tufail
fuente
3
Limpié y reconstruí el proyecto y luego funcionó bien. +1 arriba
sanjeeb
1
Esto funcionó para mí. No es una "característica" interesante para que un IDE arruine la gestión de información crucial como esa.
Marc-André Weibezahn
Confirmado en Android Studio 3.6.2 PS Te amo
bjm904
9

[Android Studio 3.3] Recibí el error "No se puede recuperar la clave" al generar un APK firmado. Pude comprobar en un archivo idea.log anterior la exactitud de mi contraseña: Key Store y Key passwords eran idénticas y correctas.

Actualización de la contraseña de la clave en el terminal:

keytool -keypasswd -alias MYKEY -keystore KEYSTORE

Parece que ya no es posible tener contraseñas idénticas para el almacén de claves y la clave. La herramienta de teclado me dio un error cuando lo intenté. Después de establecer una contraseña diferente para la clave, Android Studio generó un APK firmado.

Tal vez, en versiones anteriores de Android Studio, las contraseñas tenían que ser idénticas; ahora puede ser lo contrario.

LiebrandApps
fuente
Actualicé mi aplicación hace 2 semanas y hoy no funcionará. Utilizo esto para cambiar las contraseñas para que sean iguales y actualicé Android Studio, ahora lancé una nueva versión.
Alejandro Cumpa
Entre la respuesta de @ Build3r y esta, pude establecer ambas contraseñas en valores diferentes y aceptables y firmar con éxito mi aplicación. ¡Gracias chicos!
Peter Gluck
3

Puede ayudar a alguien.

Algunos días antes hice una copia de seguridad de mi proyecto de Android en gitlab y luego instalé Windows 10. Después de eso, lo cloné. Sabía exactamente el alias de la clave y ambas contraseñas.

Luego, mientras generaba apk firmado, ingresé esas credenciales pero fallé.

Había colocado el archivo jks en la carpeta de la aplicación. Lo eliminé de allí y creé una carpeta separada en la carpeta raíz del proyecto de Android y coloqué el archivo jks allí.

Luego intenté limpiar, reconstruir el proyecto y luego reiniciar Android Studio. Finalmente construyó la apk firmada: D

Makarand
fuente
2

Este problema ocurre solo cuando la contraseña de la clave o la contraseña del almacén de claves no coinciden.

Arjun G
fuente
2

Mis contraseñas eran las mismas y todavía recibí este error. Limpiar, reconstruir y reiniciar Android Studio no funcionó para mí. La única solución que funcionó para mí fue mover el archivo keystore.jks a una nueva ubicación. Espero que esto ayude.

Andrain
fuente
1

Acabo de eliminar la sección signingConfigs del archivo gradle de mi aplicación. Luego reconstruyó el proyecto y funcionó nuevamente.

Martín B
fuente
0

Tuve un golpe de buena suerte al verificar en Android Studio la pestaña Estructura del proyecto / Firma, y ​​encontré la contraseña clave y la contraseña de la tienda en texto sin formato. Pensé que eran iguales entre sí, pero no lo eran.

Saswanb
fuente
0

Si tiene eclipse en ejecución, intente apagarlo y generar una apk firmada nuevamente.

En mi caso, verifiqué que todas las contraseñas sean correctas e incluso generé un nuevo almacén de claves desde Android Studio. Todavía no funcionó, pero después de apagar el eclipse que se está ejecutando, todo simplemente funcionó, con el almacén de claves antiguo que usé o con uno recién generado.

Rojo
fuente
0

He comprimido mi archivo de firma antes cuando lo creé por primera vez. Cuando recibí este error, lo usé nuevamente. Puede usarlo si tiene una copia de seguridad. Creo que hemos roto las cosas antes de que se den cuenta.

Mahmut K.
fuente
0

Estaba enfrentando el mismo problema. En mi caso, después de sincronizar el proyecto con los archivos gradle resolvió este problema. Esto podría ayudar a alguien.

Vikas Rai
fuente
0

Simplemente eliminé el .imlarchivo de mi proyecto . Luego remodeló el proyecto y funcionó una vez más.

Muhammad Waleed
fuente