Android SHA1 liberación keystore no funciona con Google Maps
Estoy utilizando la API de Google Maps para Android y me encuentro con algunos problemas.
Estoy firmando mi apk con android studio (creado en .android / keystore.jks). También estoy seleccionando el "lanzamiento" como tipo en él. He utilizado el comando
- Android HMAC-SHA1 Diferente de Java estándar HMAC-SHA1
- Impresión de certificado SHA1
- Problemas con la implementación hash SHA1 en Android
- Cómo SHA1 hash una cadena en Android?
- Keytool genera huella digital SHA1 en lugar de MD5?
keytool -list -v -keystore C:\Users\Toshiba\.android\keystore.jks
Para obtener la huella digital SHA1 del almacén de claves.
El SHA1 es correcto, pero el Mapa no se muestra en un APK firmado. Se muestra en un APK de depuración.
Usando keytool con el keystore de liberación (keystore.jks) me obtendrá esto:
SHA1: 33:46:07:82:5B:D4:45:D2:60:CE:5A:29:97:9F:6C:44:XX:XX:XX:XX
La depuración funciona bien (he añadido 2 a la consola de API en Google)
33:46:07:82:5B:D4:45:D2:60:CE:5A:29:97:9F:6C:44:XX:XX:XX:XX;yac.breakingpoint 7C:28:61:5B:C3:4A:5C:50:44:AA:FD:58:69:E9:70:91:XX:XX:XX:XX;yac.breakingpoint
XX está apagado.
El keytool dice que está usando SHA256withRSA como algoritmo de firma para ambos, el depurador y el keystore de liberación.
¿Qué estoy haciendo mal?
UPDATE Así que he probado una nueva clave de la API, el proyecto limpio y reconstruir, nuevo almacén de claves – todavía no funciona en la versión … depuración está bien!
ACTUALIZAR 2 Aún no se encontró una solución de trabajo … ¡Ayúdame!
ACTUALIZACIÓN 3 Allright, lo consiguió trabajando usando un APK firmado con depuración de tipo de compilación. Extrajo el archivo CERT.RSA y runned keytool -printcert -file ./CERT.SA
. Obtenido el mismo resultado que para el tipo de compilación de liberación. ¡En el lanzamiento no está funcionando!
ACTUALIZACIÓN 4 He aquí otro intento que hice:
- Creó un nuevo repositorio GIT, comprometido con él.
- Las carpetas
/build
no están siendo activadas ya que están en los archivos.gitignore
. - Se creó una nueva clave de API en la consola del API y se agregó sólo la clave SHA1 de lanzamiento .
- Se agregó esa clave de API a la aplicación e hizo una limpieza completa con la reconstrucción.
- Se ha generado un nuevo archivo APK firmado
No funcionó.
ACTUALIZACIÓN 5 Un amigo mío intentó reproducir este problema. Él tiene el mismo problema al trabajar con el estudio de android. Probablemente un error de estudio de Android?
- SHA1 Tecla para DEBUG & RELEASE ANDROID STUDIO MAC
- Cómo agregar SHA-1 a la aplicación Android
- Android: Google Map v2 no muestra mapa para la versión apk
- Google maps api para android, obteniendo cert SHA1 en lugar de MD5
- Firma de una cadena con una clave privada, firma RSA-SHA1 y md5 en Android
- ¿Necesito diferentes claves SHA1 para realizar mapas de Google
- Cómo Hash String usando SHA-1 con la clave?
- Cómo obtener la huella digital SHA1 de Mavericks
Tiene dos archivos google_maps_api.xml
Uno en esta carpeta:
App / src / debug / res / values
Otros en esta carpeta:
App / src / release / res / values
Pero sólo la depuración contiene su clave de API probablemente.
1) Por lo general, usted tiene que limpiar y reconstruir el proyecto para que pueda trabajar.
2) Asegúrese de que su variante de construcción está en la versión (Android Studio es amigable en esto)
3) También si está depurando en sus dispositivos totalmente desinstale primero y luego continúe.
4) Como dice la documentación , asegúrese de haber configurado su manifiesto correctamente.
Espero eso ayude.
El SHA1 que está utilizando actualmente para fines de depuración.
Así que cuando usted está creando un firmado apk u tiene un archivo kestore. Intenta generar nueva clave SHA1 con este nuevo archivo keaystore.
A continuación, utilizar este archivo de keystore crear clave de API para apk firmado desde la consola de google.
Reemplace la clave de API de depuración ya almacenada en el archivo de manifiesto con la nueva.
Funcionará
Gracias
Crear nuevo proyecto en Android Studio con Google Maps Actividad. Después de que el proyecto crea automáticamente el SHA1 en el manifiesto. Utilice este SHA1 para obtener la clave MAP api. Pruebe su aplicación para asegurarse de que funciona. Y después de construir la aplicación en qué proyecto.
- JQuery Arrastrar y soltar en dispositivos táctiles (iPad, Android)
- Transmisión de voz entre teléfonos Android con WiFi