android


Google maps suddenly not working


All of a sudden maps stopped working in my app and just shows a blank screen with the google logo in the bottom left corner.
The error I get is:
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).
The only think I believe is possible is an authentication error. Since I've tried on different networks and have not troubles there.
Could the problem be with the build.gradle file? Because the problems started after I messed around there, i think.
This is my build gradle:
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')
}
the manifest looks like the following:
<?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>
I have checked multiple times that packageName, sha1 fingerprint and API is correct. All of them are, but I still get an empty map.
I've seen similar questions out there but none of the solutions I found. It just refuses to work for me.
Any suggestions?
EDIT:
Nothing that I have tried works. But I did find a similar question with someone who seems to have the same problem: Google Maps Android API Authorization failure - has this service changed in the last few months?
I had exactly the same problem and the solution was not obvious at all. Check if you are not changing DefaultSSLSocketFactory with:
HttpsURLConnection.setDefaultSSLSocketFactory(sslContext.getSocketFactory());
Removing this line and setting socket factory just for the required connection made my maps work.

Related Links

Digits causing crash when there is no internet connection
When toolbar back button is pressed
WSO2EMM rebuilding the mobile agent fails
Capture network traffic generated by an android app
Fetch Google Play Games profile image and make it circled
Is there a way to apply the theme to diffrent Item of the navigation view?
Android Admob Change application ID
Retrieve value of CheckBox from ListView and assign to Object in array list
Android Firebase retrieve data
Restore previous Preview in Android Studio
Javax and Inner class warning in Android Studio
How to resolve java.util.zip.ZipException: duplicate entry?
How can i show data usage dynamic on status bar
cmake plugin syntax for LOCAL_WHOLE_STATIC_LIBRARIES
MvxDownloadCache while offline
How can I replace OkHttpClient variable realized in custom Application class?

Categories

HOME
go
localization
amp-html
css3
character-encoding
gembox-spreadsheet
vert.x
lanczos
recordrtc
bing-maps
plist
mautic
do-while
feathersjs
dreamweaver
question2answer
dataflow-diagram
exit
gmock
froala
slidetoggle
fragment-backstack
android-maps
apktool
soot
android-things
winpe
scrollview
jett
carriage-return
openerp-7
playframework-2.1
imagenet
modernizr
release
z-notation
apns-php
c9.io
wmp
softmax
subclipse
apollostack
clang++
vaadin-charts
lightning
x-ray
page-replacement
qtranslate
static-cast
yii2-user
cup
java-websocket
shinobi
pocketsphinx-android
change-tracking
tinkerpop3
synonym
jclouds
http-status-code-401
lua-telegram-bot
fuzzywuzzy
maybe
sapi
oracle-spatial
page.js
doctype
google-refine
bcache
viewer
structuremap3
human-computer-interface
lnk
live555
paste
gtm-oauth2
neos-server
cnf
stacky
bjyauthorize
sqlclr
robotlegs
intersect
extreme-programming
sentestingkit
fusefabric
role
fsevents
http-daemon
folding
scrubyt
pnrp

Resources

Mobile Apps Dev
Database Users
javascript
java
csharp
php
android
MS Developer
developer works
python
ios
c
html
jquery
RDBMS discuss
Cloud Virtualization
Database Dev&Adm
javascript
java
csharp
php
python
android
jquery
ruby
ios
html
Mobile App
Mobile App
Mobile App