I am trying to implement google play location services in my android app. I have followed this tutorial
It does not works on some devices. The google api client does not connects. It always goes to the callback method onConnectionFailed.
I am using Android Studio and in the gradle file, I have added the following line:
compile 'com.google.android.gms:play-services-location:7.8.0'
So far I have found is that the version mentioned in the project (7.8.0) is more than the play services version installed in the device (7.5.71). So, it goes to the callback onConnectionFailed with the error code 2.
On changing the version in gradle file from 7.8.0 to 7.5.0, it works fine in these devices also.
So, is there any workaround so that I will be able to use the latest version and still be able to run it without any problem in the devices which does not have the latest version?
Google Play Services updates on its own in the background. If the device has not yet been updated to the latest version, you can show a prompt instead and ask the user to update it manually by opening Google Play Services on Google Play
Related
We have an android app on Play Store for last 2 years. We are trying to connect the Google Drive API using play services inside the app.
Things are working fine for all the android OS except 4.4.X. In 4.4.X OS devices while trying to login to the Google Account most of the users are getting the error (as reported by them) like :
" is having trouble with Google Play services.Please try again."
Does anyone know how to fix this issue?. This is Not reproducing on all 4.4.X devices.
If you are having troubles with your virtual devices when running things like Google maps etc.; try creating a new virtual device with Google Play Store incorporated
On your Android phone, go to Settings.
Click on Apps.
Click Google Play services.
Click on Permissions.
Ensure all permission settings are turned on.
I've had the same issue as reported above after updating my app dependencies from com.google.android.gms:play-services-maps:15.0.1 to ..:16.1.0 (or ..:17.0.0). The problem for was that the installed version of Google Play Services on my device (a Zebra TC51 running Android 6.0.1 in this case) is rather old and is managed by our customer using a mobile device management solution (MDM) that is very conservative. Rolling back to ..:15.0.1 or updating Google Play Services to the latest version would both solve this issue for me. Sadly, I cannot force our customers to update Google Play Services (although I'd like them to update obviously).
Reproducing this is straightforward by just installing an older Google Play Services (download the July 2018 version for example, v12.8.74. Set your dependency to 16.0.1 or newer and you'll get the above error message.
I haven't been able to find an overview that lists the compatibility between versions of the installed Google Play Services APK and which versions of the com.google.android.gms:play-services-maps dependency are supported.
Also, have a look at the Overview of Google Play Services where it is explained how the included dependency (in your app) and the installed client library (on the device) depend on one another.
Make sure your Google Play Services is updated
For me worked: Settings > Apps and Notifications > Google Play Store > Permissions > All ON
I fixed this by following the instructions on setting up Firebase on a new project. I encountered the "Try again" prompt until I added firebase-core to the project.
Opening google maps once and the trying my map fixed the problem
Hi I am trying to run an Android Program I have created that can connect to Firebase with Authentication using email and password but it seems that I cannot even authenticate due to the fact of them saying my Google Play Service is not up to date.
I am stump here as I have the latest google play services according to my SDK manager
and I don't think it is my code's problem as when I use my friend's phone for debugging it works but not when I am using the emulator.
How can I update my google play services in the Android Studio built-in emulator.
Since Google introduced Google Play Store images in Android SDK Tools 26.0.0 now emulators comes with installed Google Play Store.
When creating Emulator use images that support Google Playstore (currently Nexus 5 and Nexus 5x with android O)
From 26.0.3
Adds a new tab in the extended window for Google Play Store images that displays the Play Services version and a button to check for updates to Play Services.
Edit:
Make sure that you use emulator with playstore is installed. Check if you have sdk manager -> sdk platforms -> Android 8 -> Google Play ... system image installed. Download it. Create new emulator using that image.
I had the same issue and spent half a day working it out.
In your emulator, go to settings->apps->Google Play Services and compare the version used to what appears in your build.gradle file.
In my case the emulator was running an earlier version and no amount of updates seemed to change it.
In build.gradle, I changed the following:
compile 'com.google.android.gms:play-services:9.6.1'
to
compile 'com.google.android.gms:play-services:8.+'
After which I restarted android-studio and it worked flawlessly.
I was facing same issue, but i downgrade my play services version in build.gradle.
settings->apps->Google Play Services application check image
my google play services version is 10.2.98, that's why we need google-play-services(in module level build.gradle) version lower than our emulator's library version.
set the lower version from here, we can see 10.2.6 is better and set it in build.gradle like this
compile 'com.google.android.gms:play-services-places:10.2.6'
and just simple, run app again.
Try to download and install the latest APK for Play Services as stated in this thread.
Based from Google documentation,
If you want to test your app on the emulator, expand the directory for Android 4.2.2 (API 17) or a higher version, select Google APIs, and install it. Then create a new AVD with Google APIs as the platform target.
Try to navigate to settings--> apps in your emulator and then find Google Play Services. Check the version number and use it in you build.gradle. To update it with the latest version, you can see it in these documentation and SO question.
Be noted that updates might not reach all users immediately, so your app should verify the version available before attempting to perform API transactions.
I've bumped my project to Google Play Services v8.3.0. But when I start any app that depends on 8.3.0 on the latest API 23 emulator, the version check fails.
Pressing "update" does not work because of course there is no Play Store on the emulator.
For example: try one of these Google's sample projects https://github.com/googlesamples/android-credentials/
Is this just a limitation of the emulator - does not yet have latest Google Play Services? Or is there something that can be done to work around this?
Create a new emulator with the latest android version. This worked for me before.
I'm trying to get the last known location in my Android Emulator from Android Studio by following this tutorial https://developer.android.com/training/location/retrieve-current.html
However, the callback method onConnectionFailed is called with error code: 2. When I show the error dialog in my emulator, it says:
Update Google Play Services
{app_name} won't run unless you update Google Play services.
UPDATE
when I click UPDATE button, I got an error message:
E/SettingsRedirect﹕ Can't redirect to app settings for Google Play services
I think the problem is because Google Play services is not included in the emulator. I tried following the answer here too Android Studio with Google Play Services, but it didn't work.
It says on Google documentation:
To test your app when using the Google Play services SDK, you must use
either:
1.) A compatible Android device that runs Android 2.3 or higher and includes Google Play Store.
2.) The Android emulator with an AVD that runs the Google APIs platform based on >Android 4.2.2 or higher.
Can somebody tell me how to do point 2 ?
My AVD is Nexus 5 API 22 x86
Here's the version chart 4.2.2 means it should API level 17 and up. So your AVD should be fine. Alternatively, you can download Google Play Services APK and install it through ADB shell. See this answer for more information.
However, even if the Play Services issue is solved, you can not get location updates in an emulator since it does not have GPS hardware. You can simulate location behavior through geo command as described here.
I am getting "Update Google Play Services" alert when running project on emulator. If I click OK then there is one more alert behind it. I keep clicking OK and there are tons of alerts already popped up and I end up giving up.
Message looks as below :
I've tried updating everything in SDK manager. Also tried in Eclipse, Help->Check for updates.
Updated: Jun 27 2019:
The new google x86 emulator with play services is exactly like a device where you can install apps from play store and all other things.
Previous Answer:
I faced similar problem while trying google maps in emulator. While some people have been able to run google play services in their emulator by downloading google play services application from their mobile, making the apk file and then installing that file in emulator, it is really complicated process and works for certain api level only. Same is the case with emulator using google api's that shift with builtin maps and google play services. The maps application will work in emulator while your application asks for update to google play services. So the wise thing to do is to test it in real hardware.
For me, I had to go to settings | apps on my emulator and then find Google Play Services, I then saw that the version number was no where near the current version number (6.7.74 as against the current 7.3.0)
I then went to my dependencies and changed:
compile 'com.google.android.gms:play-services:7.3.0'
to
compile 'com.google.android.gms:play-services:6.+'
You'll get warnings saying a newer version is available and to avoid using + in version numbers but if you've spent the entire day looking for a solution like I did, you could care less.
In android studio changing the depencies work for me:
com.google.android.gms:play-services:5.+
to:
com.google.android.gms:play-services:5.0.+
Now you can also use your emulator to run Android MAP API V2.
Note: Only Android 4.2.2 and higher versions of the Google APIs platform include Google Play services.
The problem here is that you have an older version of Google Play Services. Update to the latest version by opening the SDK Manager => Extras => Google Play Services.
you can try using new Genymotion Android emulator in which you can update google play services. I have faced this alert and able to update it.
It seems like we can't test latest Google maps API, which is dependant on google play store app which is missing in Google's Android Emulator.
Genymotion Android Emulator comes with Google Play store app.
NOTE: Genymotion v2.0 discontinued packaging virtual machine with google apps , but refer this link to add Google Apps Manually to Genymotion
I had the same issue.
It's nice that in the newer emulators (for version 17 and up) come with the play services included, but what about older versions?
eventually i found the emulators provided by testobject. all their emulators (starting at version 15) come with the updated play services and google APIs (maps v2 etc'), for both ARM and x86.
Check this answer https://stackoverflow.com/a/19734573/3284964. It helped me. For me it works on 4.3 emulator (google play services release 3.2.65) and google play services for froyo lib in my app.
I had a problem with Android Studio when it imported my Eclipse project.
Look for Google Play Services in your build.gradle.
dependencies {
compile 'com.google.android.gms:play-services:+'
}
Change this to use an exact version:
dependencies {
compile 'com.google.android.gms:play-services:5.0+'
}
Then clean build (Build -> Clean Project).
Just did some checking and I realise this question is quite old but, it seems API19 Google Apis Disk Image works with Google Play Services just tested it with an application im working on and it shows the Goolge Maps V2 just fine.
(Only for Android Studio Users)
I have faced the same problem and solved it by updating Android Studio and SDK libraries.