updating Google play services in Emulator
AndroidAndroid StudioAndroid EmulatorGoogle PlayGoogle Play-ServicesAndroid Problem Overview
I have gone through many questions like this on Google Play, I am using Android 4.2.2 API 17.
My app requires Google play services 8.1 , It compiles fine and when it runs on emulator it shows message that 'You need to update your Google play services ' ,
When I click on update nothing happens,
How can I update the Google Play services without downloading any latest API version ?
Android Solutions
Solution 1 - Android
Update On 18-Dec-2017
You can update Google Play Services via the Play Store app in your emulator just as you would on a physical Android device from API 24.
check Emulator new features added with stable update from Android Studio v 3.0
> Google Play Support - From Google : We know that many app developers use Google Play > Services, and it can be difficult to keep the service up to date in > the Android Emulator system images. To solve this problem, we now > offer versions of Android System Images that include the Play Store > app. The Google Play images are available starting with Android Nougat > (API 24). With these new emulator images, you can update Google Play > Services via the Play Store app in your emulator just as you would on > a physical Android device. Plus, you can now test end-to-end install, > update, and purchase flows with the Google Play Store.
> Quick Boot - Quick Boot allows you to resume your Android Emulator > session in under 6 seconds > > Android CTS Compatibility > > Performance Improvements - With the latest versions of the Android > Emulator, we now allocate RAM on demand, instead of allocating and > pinning the memory to the max RAM size defined in your AVD. > > Virtual sensors > > Wi-Fi support > > GPS location and Many more...
OR
Update this SDK Build-Tools and Android Emulator to latest and this alert message will not come again,
> Settings --> Android SDK --> SDK Tools(tab) --> Android SDK > Build-Tools
Solution 2 - Android
Use emulator that has Play Store installed. Updating play services would be as easy as in real device.
Since Google introduced [Google Play Store images][1] in Android SDK Tools 26.0.0 now emulators comes with installed [Google Play Store][2].
[![enter image description here][3]][3]
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.
[![emulator settings][4]][4]
[1]: https://developer.android.com/studio/releases/emulator.html#26-0 "emulator with Google Play Store" [2]: https://androidstudio.googleblog.com/2017/04/android-studio-24-preview-4-is-now.html [3]: https://i.stack.imgur.com/DtJ7O.png [4]: https://i.stack.imgur.com/lEUtj.png
Solution 3 - Android
You need install Google play image, Android SDK -> SDK platforms --> check show Package details --> install Google play.
Solution 4 - Android
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.
Solution 5 - Android
Running the app on a virtual device with system image, 'Google Play API' instead of 'Google API' will solve your issue smoothly..
-
Virtual devices Nexus 5x and Nexus 5 supports 'Google Play API' image.
-
Google Play API comes with Nougat 7.1.1 and O 8.0.
Just follow the below simple steps and make sure your pc is connected to internet.
-
Create a new virtual device by selecting Create Virtual Device(left-bottom corner) from Android Virtual Devices Manager.
-
Select the Hardware 'Nexus 5x' or 'Nexus 5'.
-
Download the system image 'Nougat' with Google Play or 'O' with Google Play. 'O' is the latest Android 8.0 version.
-
Click on Next and Finish.
-
Run your app again on the new virtual device and click on the 'Upgrade now ' option that shows along with the warning message.
-
You will be directed to the Play Store and you can update your Google Play services easily.
See your app runs smoothly!
- Note: If you plan to use APIs from Google Play services, you must use the Google APIs System Image.
Solution 6 - Android
Solution 7 - Android
My answer is not to update the Google play service but work around. Get the play service version of the emulator by using the following code
getPackageManager().getPackageInfo("com.google.android.gms", 0 ).versionName);
For example if the value is "9.8.79" then use the nearest lesser version available com.google.android.gms:play-services:9.8.0'
This will resolve your problem. Get the release history from https://developers.google.com/android/guides/releases#november_2016_-_v100
Solution 8 - Android
I know it's late answer but I had same problem for last two days, and none of the above solutions worked for me. My app supports min sdk 16, Jelly Bean 4.1.x, so I wanted to test my app on emulator with 16 android api version and I needed Google Play Services.
> In short, solution that worked for me is: > > - make new emulator Nexus 5X (with Play Store support) - Jelly Bean 4.1.x, 16 API level (WITHOUT Google APIs) > - manually download apks of Google Play Store and Google Play Services (it is necessary that both apks have similar version, they > need to start with same number, for example 17.x) > - drag and drop those apks into new emulator > - congratulations you have updated Google Play Services on your 4.1.x emulator
Here are the steps and errors I have encountered during the problem.
So I have made new emulator in my AVD. I picked Nexus 5X (with Play Store support). After that I picked Jelly Bean 16 api level (with Google APIs). When I opened my app dialog pop up with message You need to update your Google play services. When I clicked on Update button, nothing happened. I did update everything necessary in SDK manager, but nothing worked. I didn't have installed Google Play Store on my emulator, even tho I picked Nexus 5X which comes with preinstalled Play Store. So I couldn't find Google Play Store tab in Extended Controls (tree dots next to my emulator).
Because nothings worked, I decided to try to install Google Play Services manually, by downloading APK and dragging it into emulator. When I tried this, I encountered problem The APK failed to install. Error: INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES. I figured that this was the problem because I picked Jelly Bean 16 api level (with Google APIs). So I made new emulator
> Nexus 5X (with Play Store support) - Jelly Bean 16 api level (WITHOUT > Google APIs)
This allowed me to install my Google Play Service manually. But when I run my app, it still didn't want to open it. Problem was that my emulator was missing Google Play Store. So I installed it manually like Google Play Service. But when it was successfully installed, dialog started popping out every second with message Unfortunately Google Play Services has stopped. Problem was that version of my Google Play Store was 17.x and Google Play Service was 19.x. So at the end I installed Google Play Service with version 17.x, and everything worked.
Solution 9 - Android
I faced the same issue. I updated my Android studio and used API 25 target as Android 7.1.1 and X86 and everything worked fine. I use Google play services and firebase for my project
Solution 10 - Android
I was having the same issue. Just avoid using an emulator with SDK 27. SDK 26 works fine!
Solution 11 - Android
>2020 , the error Google Play services out of date. Requires 12451000 but found 11743470
just update Google Play services from the Google Play after you sing-in with a valid account.
PS: I've tried different Emulator versions, but all required to update google play services.
Solution 12 - Android
Update your google play services or just create the new emulator. When you install the new emulator this problem will automatically be solved. Happy coding :)