Google Maps V2 no funciona en la producción con la clave correcta

Tengo problemas importantes para que Google Maps funcione en producción dentro de una aplicación para Android. Esto es lo que estoy recibiendo actualmente (la parte inferior es sólo anuncios).

Pantalla de producción de aplicaciones

Pasos clave que he seguido:

1) Tengo asegurado que tengo la clave correcta de producción de SHA1 y lo he implementado en la API de consola de Google, así como dentro de la aplicación (clave que google da). He registrado dos claves – una para la depuración y otra para la producción

2) Internet, ubicación, etc está trabajando

3) La aplicación funciona en modo DEBUG, pero no funciona cuando está firmada e instalada en el dispositivo vía USB. Tengo triple comprobado el SHA 1 firma del signo, etc.

4) El MapsFragment proviene de la plantilla disponible en Android Studio.

En el modo de producción, el log cat muestra lo siguiente:

01-11 16:04:54.511 19346-19437/com.mike.mapstest E/Google Maps Android API﹕ Authorization failure. Please see https://developers.google.com/maps/documentation/android/start for how to correctly set up the map. 01-11 16:04:54.516 19346-19437/com.mike.mapstest E/Google Maps Android API﹕ In the Google Developer Console (https://console.developers.google.com) Ensure that the "Google Maps Android API v2" is enabled. Ensure that the following Android Key exists: API Key: YOUR_KEY_HERE Android Application (<cert_fingerprint>;<package_name>): <SHA1 Removed for this> ;com.mike.mapstest 

Este error, obviamente, dice que algo está mal con mi auth? ¿Qué estoy haciendo mal?

Basado en la salida logcat de su compilación de versión debugable:

 01-11 16:04:54.511 19346-19437/com.mike.mapstest E/Google Maps Android API﹕ Authorization failure. Please see https://developers.google.com/maps/documentation/android/start for how to correctly set up the map. 01-11 16:04:54.516 19346-19437/com.mike.mapstest E/Google Maps Android API﹕ In the Google Developer Console (https://console.developers.google.com) Ensure that the "Google Maps Android API v2" is enabled. Ensure that the following Android Key exists: API Key: YOUR_KEY_HERE Android Application (<cert_fingerprint>;<package_name>): <SHA1 Removed for this> ;com.mike.mapstest 

Parece que no ha sobrepasado el marcador de posición de la clave api YOUR_KEY_HERE en el manifiesto (o un archivo de claves api independiente, dependiendo de su configuración). Reemplazar esa cadena, donde quiera que viva, con su clave real y debe ser bueno para ir.

Editar: este tutorial , si coincide con su configuración, probablemente explica por qué sólo está viendo esto para las compilaciones de versiones:

Vuelva a Android Studio y pegue la clave API en la sección YOUR_KEY_HERE del archivo:

Tenga en cuenta que estos pasos han permitido que Google Maps admita la versión de depuración del paquete de aplicaciones. La clave de la API también deberá agregarse al archivo google_maps_api.xml ubicado en los valores de MapDemo -> app -> src -> release -> res -> cuando la versión de lanzamiento de la aplicación esté lista para ser construida.

Estaba teniendo estos mismos problemas, y estaba golpeando mi cabeza contra la pared durante unos días. He leído todos los mensajes acerca de poner la clave correcta en su lugar. Seguí poniendo la clave correcta en mi archivo google_maps_api.xml. StKent arriba mencionado para asegurarse de sobrescribir con la cadena real en AndroidManifest.xml. Esto es lo que me lo arreglaron.

Lo que tenía cuando no funcionaba: en AndroidManifest.xml:

 <meta-data android:name="com.google.android.geo.API_KEY" android:value="@string/google_maps_key" /> 

Y en google_maps_api.xml:

  <string name="google_maps_key" templateMergeStrategy="preserve" translatable="false">AIza_the actual key</string> 

Lo que cambié para que funcione cambié mi AndroidManifest.xml para incluir:

 <meta-data android:name="com.google.android.geo.API_KEY" android:value="AIzsa_the actual key" /> 

Cuando utilice Android Studio para generar la actividad de Google Maps, ignorará los configs de compilación de gradle y utilizará el debug.keystore predeterminado. El SHA1 de google_maps_api.xml se basa en este valor predeterminado. Al crear el permiso en la consola de la API de Google, asegúrese de utilizar su SHA1 de producción y depuración si está utilizando el valor predeterminado no.

Depuración y la clave de producción será diferente. Si utiliza la clave de depuración para el modo de liberación, no podrá ver el mapa de google. Para el modo de liberación, cuando cambie la clave de mapa de Google, debe limpiar el proyecto y luego exportar apk.

Puede obtener más información https://developers.google.com/maps/documentation/android/start

Obtener SHA1 privado del almacén de claves de depuración

Keytool -list -v -keystore ~ ​​/ .android / debug.keystore -alias androiddebugkey -storepass android -keypass your_app_password

para ver más

SHA-1 huella dactilar del certificado keystore

O puede eclipse herramienta para generar clave privada SHA1 utilizando el menú de exportación

En mi caso, había ingresado el nombre del paquete incorrecto en el Administrador de API de API de Google – Credenciales – "Restringir uso a tus aplicaciones de Android". Asegúrese de ingresar el nombre de paquete correcto (como en AndroidManifest.xml) y las huellas correctas de SHA (para depuración y producción). Google API Manager Captura de pantalla

Resuelto, pongo en el Manifiesto la "Clave para aplicaciones de navegador (con referencias)" en lugar de la "Clave para aplicaciones de Android (con certificados)" de la Consola de API de Google

  • Hacer algo cuando estoy dentro del radio del círculo
  • MapView sin ampliar MapActivity
  • Android google maps, google lugares, latitud norte supera el sur latitiude
  • Cómo agregar la biblioteca de Google Maps en Android Things?
  • MoveCamera y animateCamera no funcionan la segunda vez
  • ¿Qué API usar para acceder al historial de ubicaciones de una aplicación para Android?
  • Contexto nulo Puntero
  • MapActivity no se puede resolver con un tipo, ni siquiera con el objetivo de API de Google
  • Cómo agregar azulejos al mapa de google y animarlos es decir reemplazándolos con los azulejos nuevos continuamente
  • Agregar barra de herramientas de búsqueda sobre google map como en la aplicación nativa de Android
  • Android 8 o superior: comprobar los servicios de Google Play
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.