Había subido mi aplicación a Google Play (cuando se llamaba Android Market) hace algún tiempo.
Hoy actualicé la aplicación, pero eliminé el almacén de claves anterior y creé una nueva.
Al cargar, dice que el APK debe estar firmado con los mismos certificados que la versión anterior:
Subida fallida
Cargó un APK que está firmado con un certificado diferente a sus APK anteriores. Debes usar el mismo certificado.
Sus APK existentes están firmados con los certificados con huella digital:
[SHA1: 89: 2F: 11: FE: CE: D6: CC: DF: 65: E7: 76: 3E: DD: A7: 96: 4F: 84: DD: BA: 33]
y los certificados utilizados para firmar el APK que cargó tienen huellas digitales:
[SHA1: 20: 26: F4: C1: DF: 0F: 2B: D9: 46: 03: FF: AB: 07: B1: 28: 7B: 9C: 75: 44: CC]
Pero no tengo este certificado, y no quiero eliminar y volver a publicar la aplicación, ya que tiene usuarios activos.
¿Qué puedo hacer para firmar mi aplicación con un nuevo certificado?
fuente
Respuestas:
Nada. Lea la documentación: Publicación de actualizaciones en Android Market
fuente
¿Firmaste con la clave de depuración por error?
Google Play no le permite publicar una aplicación firmada con su almacén de claves de depuración. Si intenta cargar un APK de este tipo, Google Play fallará con el mensaje "Cargó un APK que se firmó en modo de depuración. Debe firmar su APK en modo de lanzamiento".
Sin embargo, si intenta cargar una actualización que está firmada con el almacén de claves de depuración, no verá este mensaje; Google Play mostrará el mensaje que se muestra en la pregunta, en referencia a las huellas digitales SHA1.
En primer lugar, verifique si firmó la aplicación con su clave de depuración por error.
¿Cómo verifico qué claves de firma se usaron?
Recopila la información del APK
Puede verificar con qué certificados se firmaron el APK original y el APK de actualización utilizando estos comandos, utilizando Java
keytool
:Esto le muestra información detallada sobre cómo se firmó un APK, por ejemplo:
Las partes importantes a tener en cuenta aquí, para cada APK, son el valor de la huella digital SHA1 , el valor de identidad del propietario y las fechas válidas desde / hasta .
Si ese
keytool
comando no funciona (la-jarfile
opción requiere Java 7), puede obtener información más básica a través deljarsigner
comando:Desafortunadamente, esto no muestra la huella digital SHA1, pero sí muestra la identidad del propietario X.509, junto con las fechas de vencimiento del certificado. Por ejemplo:
Puede ignorar cualquier mensaje "CertPath no validado", junto con advertencias sobre cadenas de certificados o marcas de tiempo; No son relevantes en este caso.
Compare los valores Propietario, SHA1 y Caducidad entre los APK
Si el valor de identidad Propietario / X.509 es
CN=Android Debug, O=Android, C=US
, ha firmado el APK con su clave de depuración , no con la clave de lanzamiento originalSi el valor de la huella digital SHA1 es diferente entre los APK originales y de actualización, entonces no usó la misma clave de firma para ambos APK
Si los valores de identidad del Propietario / X.509 son diferentes, o las fechas de vencimiento del certificado difieren entre los dos APK, entonces no usó la misma clave de firma para ambos APK
Tenga en cuenta que incluso si los valores Propietario / X.509 son idénticos entre los dos certificados, esto no significa que los certificados sean idénticos, si algo más no coincide, como los valores de huellas digitales, entonces los certificados son diferentes.
Busque el almacén de claves original, verifique las copias de seguridad
Si los dos APK tienen información de certificado diferente, entonces debe encontrar el almacén de claves original, es decir, el archivo con el primer valor de huella digital SHA1 que Google Play (o
keytool
) le indicó.Busque en todos los archivos del almacén de claves que puede encontrar en su computadora y en cualquier copia de seguridad que tenga, hasta que tenga el que tenga la huella digital SHA1 correcta:
Simplemente presione Entersi se le solicita la contraseña; no necesariamente tiene que ingresarla si solo desea verificar rápidamente el valor SHA1.
No puedo encontrar el almacén de claves original en ningún lado
Si no puede encontrar el almacén de claves original, nunca podrá publicar ninguna actualización de esta aplicación en particular.
Android menciona esto explícitamente en la página Firmando su aplicación :
Después del primer lanzamiento de un APK, todos los lanzamientos posteriores deben firmarse con la misma clave.
¿Puedo extraer la clave de firma original del APK original?
No. Esto no es posible. El APK solo contiene información pública, y no su información de clave privada.
¿Puedo migrar a una nueva clave de firma?
No. Incluso si encuentra el original, no puede firmar un APK con la tecla A, luego firmar la próxima actualización con las teclas A y B, y luego firmar la próxima actualización solo con la tecla B.
Es técnicamente posible firmar un APK (o cualquier archivo JAR) con varias claves , pero Google Play ya no acepta APK con múltiples firmas.
Si lo intenta, aparecerá el mensaje "Su APK se ha firmado con varios certificados. Firme solo con un certificado y cárguelo de nuevo".
¿Que puedo hacer?
Tendrá que crear su aplicación con un nuevo ID de aplicación (por ejemplo, cambiar de "com.example.myapp" a "com.example.myapp2") y crear una nueva lista en Google Play.
Posiblemente también tendrá que cambiar su código para que las personas puedan instalar la nueva aplicación incluso si tienen instalada la aplicación anterior, por ejemplo, debe asegurarse de no tener proveedores de contenido en conflicto.
Perderá su base de instalación existente, revisiones, etc., y tendrá que encontrar una manera de hacer que sus clientes existentes desinstalen la aplicación anterior e instalen la nueva versión.
Nuevamente, asegúrese de tener copias de seguridad seguras del almacén de claves y las contraseñas que usa para esta versión.
fuente
[CertPath not validated: Path does not chain with any of the trust anchors]
, no es un problema eather? Sí veo mi nombre,CN
así que supongo que lo firmé correctamente :)Nada: Google dice claramente que la aplicación se identifica con las teclas utilizadas para firmarla. En consecuencia, si ha perdido las claves, debe crear una nueva aplicación.
fuente
Hoy enfrenté el mismo problema, desafortunadamente, tenía dos alias en mi archivo de almacén de claves.
fuente
Acabo de que esto ocurra de la nada azul claro. Realmente no creo que haya cambiado nada.
Sin embargo, lo
Build => Clean Project
arregló.fuente
Aquí obtengo la respuesta a esa pregunta. Después de buscar durante mucho tiempo, finalmente puedo descifrar la clave y la contraseña para esto. Olvidé mi clave y alias también el archivo jks, pero afortunadamente sé el montón de contraseña que había puesto en él. pero encontrar las combinaciones correctas para esa fue la tarea más difícil para mí.
Solución - Descargue esto - Keytool IUI versión 2.4.1 plugin
la ventana aparecerá ahora y mostrará el nombre del alias ... si su archivo jks es correcto ... haga clic derecho en el alias y presione "ver cadena de certificados" ... mostrará la clave SHA1 ... haga coincidir esta clave con la clave que obtenga mientras cargabas el apk en la tienda de aplicaciones de Google ...
si coincide, entonces estás con el archivo jks y el alias correctos.
ahora afortunado tengo un montón de contraseña para que coincida ..
ahora vaya a este scrren coloque la misma ruta jks ... y la contraseña (entre la contraseña que tiene) ponga cualquier ruta en "Archivo de certificado"
si la pantalla muestra algún error, la contraseña no coincide ... si no muestra ningún error, significa que está con el archivo jks correcto. alias y contraseña correctos () ahora con eso puedes subir tu apk en Play Store :)
fuente
Si tiene un archivo apk anterior con usted (copia de seguridad), use jarSigner para extraer el certificado de ese apk, luego use esa clave o use keytool para clonar ese certificado, puede ser que ayude ... Los enlaces útiles son documentos jarsigner y documentos keytool .
fuente
Recomiendo encarecidamente Keystore Explorer ( https://keystore-explorer.org/ ) que le permite acceder a su almacén de claves sin tener que cargarlo en Google Play. De esta forma, puede solucionar problemas si está ingresando su contraseña incorrectamente.
fuente
Puede usar la nueva función de firma de aplicaciones de Google Play para generar un nuevo archivo de clave.
Después de mayo de 2017, Google Play Store agrega una nueva característica en Play Store y es una buena noticia para los desarrolladores de Android. Desde esta característica, el Desarrollador puede actualizar su aplicación o Apk que perdió un archivo KeyStore. debes habilitar el inicio de sesión de la aplicación Google Play en la consola Play Store.
https://support.google.com/googleplay/android-developer/answer/7384423?hl=en
http://www.geekcodehub.com/2018/05/23/keystore-lost-in-android/
fuente
Recientemente me enfrenté a este problema, después de probar diferentes formas de iniciar sesión, como habilitar V1 o V2, inicié sesión cambiando el nombre del alias y la última vez que supe que estoy usando un archivo de almacén de claves incorrecto
fuente
Mi error [tonto] fue que usé el archivo app-debug.apk en lugar del archivo app-release.apk. Debes elegir "liberar" en el marco "Construir variantes" cuando generas un APK firmado. El archivo app-release.apk debe ubicarse en la carpeta "app \ release" en la raíz del proyecto.
fuente