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!
android
android-keystore
wasimsandhu
fuente
fuente
Respuestas:
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.
fuente
[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:
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.
fuente
master password
que ingresé al firmar el apk, pero solo necesitaba repetir elkey password
.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.
fuente
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ó
fuente
[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.
fuente
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
fuente
Este problema ocurre solo cuando la contraseña de la clave o la contraseña del almacén de claves no coinciden.
fuente
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.
fuente
Acabo de eliminar la sección signingConfigs del archivo gradle de mi aplicación. Luego reconstruyó el proyecto y funcionó nuevamente.
fuente
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.
fuente
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.
fuente
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.
fuente
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.
fuente
Simplemente eliminé el
.iml
archivo de mi proyecto . Luego remodeló el proyecto y funcionó una vez más.fuente