Los mapas de Google de repente no funcionan

De repente todos los mapas dejado de funcionar en mi aplicación y sólo muestra una pantalla en blanco con el logotipo de google en la esquina inferior izquierda.

El error que obtengo es:

I/Google Maps Android API﹕ Google Play services package version: 4452038 I/ActivityManager﹕ Start proc com.google.android.gms.maps for service com.google.android.gms/.maps.auth.ApiTokenService: I/Google Maps Android API﹕ Google Play services client version: 4452000 I/Google Maps Android API﹕ Failed to contact Google servers. Another attempt will be made when connectivity is established. E/Google Maps Android API﹕ Failed to load map. Error contacting Google servers. This is probably an authentication issue (but could be due to network errors). 

Lo único que creo que es posible es un error de autenticación. Desde que he probado en diferentes redes y no tienen problemas allí.

¿Podría ser el problema con el archivo build.gradle? Porque los problemas comenzaron después de que me ensucie alrededor allí, pienso.

Este es mi gradle de construcción:

 apply plugin: 'android' android { compileSdkVersion 19 buildToolsVersion "19.0.3" def versionPropsFile = file('version.properties') if (versionPropsFile.canRead()) { def Properties versionProps = new Properties() versionProps.load(new FileInputStream(versionPropsFile)) def value = 0 def runTasks = gradle.startParameter.taskNames if ('assemble' in runTasks || 'assembleRelease' in runTasks || 'aR' in runTasks) { value = 1; } def versionMajor = 1 def versionMinor = 3 def versionPatch = versionProps['VERSION_PATCH'].toInteger() + value def versionBuild = versionProps['VERSION_BUILD'].toInteger() + 1 def version_Code = versionProps['VERSION_CODE'].toInteger() + value versionProps['VERSION_PATCH'] = versionPatch.toString() versionProps['VERSION_BUILD'] = versionBuild.toString() versionProps['VERSION_CODE'] = version_Code.toString() versionProps.store(versionPropsFile.newWriter(), null) defaultConfig { versionCode version_Code versionName "${versionMajor}.${versionMinor}.${versionPatch} (${versionBuild})" minSdkVersion 14 targetSdkVersion 19 } } else { throw new GradleException("Could not read version.properties!") } signingConfigs { debug { storeFile file("xxx.keystore") storePassword "xxxx" keyAlias "debug" keyPassword "xxxx" } releaseKey { storeFile file("xxx.keystore") storePassword "xxxx" keyAlias "release" keyPassword "xxxx" } } buildTypes { debug { debuggable true packageNameSuffix ".debug" proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' signingConfig signingConfigs.debug } release { proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' signingConfig signingConfigs.releaseKey } } lintOptions { abortOnError false } } dependencies { compile project(':nineOldAndroids') compile project(':expListViewLib') compile project(':datetimepickerlibrary') compile project(':volley') compile 'com.android.support:support-v4:+' compile 'com.google.android.gms:play-services:+' compile files('libs/aws-android-sdk-1.7.1.1.jar') compile files('libs/disklrucache-2.0.1.jar') } 

El manifiesto se parece a lo siguiente:

 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.app" > <permission android:name="com.example.app.permission.MAPS_RECEIVE" android:protectionLevel="signature" /> <uses-feature android:glEsVersion="0x00020000" android:required="true" /> <uses-permission android:name="com.example.app.permission.MAPS_RECEIVE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <uses-permission android:name="android.permission.VIBRATE" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > ... <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="@string/config_com.google.android.maps.v2.api_key" /> </application> </manifest> 

He comprobado varias veces que packageName, sha1 huella dactilar y la API es correcta. Todos lo son, pero sigo recibiendo un mapa vacío.

He visto preguntas similares por ahí, pero ninguna de las soluciones que encontré. Sólo se niega a trabajar para mí.

¿Alguna sugerencia?

EDIT: Nada de lo que he probado funciona. Pero encontré una pregunta similar con alguien que parece tener el mismo problema: Google Maps Android API Error en la autorización: ¿ha cambiado este servicio en los últimos meses?

Tuve exactamente el mismo problema y la solución no era obvio en absoluto. Compruebe si no está cambiando DefaultSSLSocketFactory con:

 HttpsURLConnection.setDefaultSSLSocketFactory(sslContext.getSocketFactory()); 

Eliminar esta línea y configurar la fábrica de socket sólo para la conexión requerida hizo que mis mapas funcionaran.

  • Google Maps v2, desaparecido 'android.support.v4.app.FragmentActivity'
  • Uso de Google Map en Android
  • ¿Cómo obtener el actual nivel de zoom de GoogleMap?
  • Google Maps no se muestra de repente en Android
  • Android Dibujar polilíneas con flecha en el mapa de google con la ruta de dirección
  • Mi botón de ubicación
  • INSTALL_FAILED_MISSING_SHARED_LIBRARY un proplem de emulador de android
  • Error de compilación en Android Studio Al realizar un simple proyecto Google API de Google Maps API v2
  • ¿Cómo puedo crear un mapa personalizado en Google Maps?
  • Cómo envolver el fragmento GoogleMap en un LinearLayout?
  • Google Maps V2 mostrando una pantalla en blanco
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.