How to download older google play services?
I realise that this is an old question, but I had the same problem today (for real devices not for the emulator) and have found a solution.
I know that you can add code to prompt the user to upgrade to the latest version (see the comment by @nathan-walters) but, for complicated reasons, in my case I need to work with whatever version the user already has installed on their device (if any) and hence prefer to compile/build with an older version of the client library (google-play-services_lib)
So researching further, I unpacked the xml that Android SDK Manager uses to find and install the 'extras' packages including the latest version of Google Play Services.
If you are interested start here: https://dl-ssl.google.com/android/repository/addon.xml
For the current version (as of Nov 10th 2014) that gives you the library for google-play-services_lib at:
https://dl-ssl.google.com/android/repository/google_play_services_6171000_r21.zip
The older versions are in the same location on the google servers (although they could disappear at any time), so if you are prepared to move the current installed library aside and manually unpack an older zip then you can install an old version. I found the following:
- https://dl-ssl.google.com/android/repository/google_play_services_3159130_r09.zip
- https://dl-ssl.google.com/android/repository/google_play_services_3225130_r10.zip
- https://dl-ssl.google.com/android/repository/google_play_services_3265130_r12.zip
- https://dl-ssl.google.com/android/repository/google_play_services_4030530_r13.zip
- https://dl-ssl.google.com/android/repository/google_play_services_4132530_r14.zip
- https://dl-ssl.google.com/android/repository/google_play_services_4242030_r15.zip
- https://dl-ssl.google.com/android/repository/google_play_services_4323030_r16.zip
- https://dl-ssl.google.com/android/repository/google_play_services_4452030_r17.zip
- https://dl-ssl.google.com/android/repository/google_play_services_5077000_r18.zip
- https://dl-ssl.google.com/android/repository/google_play_services_5089000_r19.zip
- https://dl-ssl.google.com/android/repository/google_play_services_6111000_r20.zip
- https://dl-ssl.google.com/android/repository/google_play_services_6171000_r21.zip
- https://dl-ssl.google.com/android/repository/google_play_services_6587000_r22.zip
- https://dl-ssl.google.com/android/repository/google_play_services_7095000_r23.zip
- https://dl-ssl.google.com/android/repository/google_play_services_7327000_r24.zip
- https://dl-ssl.google.com/android/repository/google_play_services_7571000_r25.zip
- https://dl-ssl.google.com/android/repository/google_play_services_7895000_r26.zip
- https://dl-ssl.google.com/android/repository/google_play_services_8115000_r27.zip
- https://dl-ssl.google.com/android/repository/google_play_services_8298000_r28.zip
- https://dl-ssl.google.com/android/repository/google_play_services_8487000_r29.zip
- https://dl-ssl.google.com/android/repository/google_play_services_9080000_r30.zip
The same technique would allow you to test against the non-upgradable older versions Google Maps (Google Play Services) hardwired in older versions of the emulator. I haven't tested all these versions against the emulator but have successfully tested Google Maps in the emulator for an AVD based on Google APIs (API 19).
Google does make the occasional attempt to bring the emulator up to date. Here is an issue tracker thread discussing version incompatibility issues between the client library and the emulator and google's various attempts to fix them: https://code.google.com/p/android/issues/detail?id=57880
[UPDATE:]
@btrue see answer below now has a much better answer than my answer
go to:
<your path to android sdk>/extras/google/m2repository/com/google/android/gms/play-services/
where you will find directories containing the old releases in AAR format - just rename to .zip for extraction.
Reliable source for older releases of Google Play Services API
I guess I should have searched a bit longer... Here's the answer I was looking for:
https://stackoverflow.com/a/26838281/1217178
More specifically:
The v7.5.71 API files are available at
https://dl-ssl.google.com/android/repository/google_play_services_7571000_r25.zip
Google Play services out of date. Requires 7571000 but found 6774470
Add the below script in dependencies.gradle
, it will download the latest play service lib automatically, and you can find them on local path such as: m2repository/com/google/android/gms/play-services
.
dependencies {
compile 'com.google.android.gms:play-services:4.2.+'
}
How do I match a Google Play Services revision with an install version?
OK, I haven't quite managed to find a mapping of one to the other, but I've managed the next best thing which is to see a list of Play Services long version numbers installed on my development machine.
For Windows, it's in [android-sdk]\extras\google\m2repository\com\google\android\gms\play-services
(where [android-sdk]
is the path to your Android SDK folder).
On a Mac, it's inside the Android.app package: browse to sdk/extras/google/m2repository/com/google/android/gms/play-services
The latest version on my machine was 5.0.77 (not 5.0.84), and putting that in my build.gradle worked fine.
Here's the kind of thing you should see at that location:
downgrading google play services from 6 to 5
You can download an older revision from here:
http://venomvendor.blogspot.co.il/2012/03/android-sdk-extras-by-google-inc.html
Then remove the newer version from workspace, and add the desired one.
Once you did that you can refrence it with your project and check again.
You can read this blog post I wrote on this matter as well:
Google Maps API V2 in Emulator
Related Topics
How to Send Data from Dialogfragment to a Fragment
Android Layout with Listview and Buttons
Ksoap2 Org.Xmlpull.V1.Xmlpullparserexception Expected Start_Tag Error
Jar Mismatch Found 2 Versions of Android-Support-V4.Jar in the Dependency List
How to Get the Selected Value of a Spinner
When Is Onattach Called During the Fragment Lifecycle
How to Convert Date to a Particular Format in Android
Recyclerview Not Call Oncreateviewholder
Unobtrusive Way to Combine and Compress JavaScript/CSS for Java/Spring/Maven Applications
Android Post Picture to Facebook Wall
How to Avoid Garbage Collection Delays in Java Games? (Best Practices)
Fatal Error: Invalid Layout of Java.Lang.String at Value
Linearlayoutmanager Setreverselayout() == True But Items Stack from Bottom
Resize Image to Full Width and Fixed Height with Picasso
Getting Strange Output When Printing Result of a String Comparison