I'm working on an App that uses Google Play Services' GcmNetworkManager. This feature was introduced in v7.5, so to maximize the number of devices where my app will not need to ask the user to update Google Play Services, I would like to build my app against that version of the API files.
Unfortunately, I don't seem to be able to select an older version in the Android SDK Manager. There are several websites that come up in a Google search that provide older API versions, but none of them seem to be official Google pages, so I'm a little hesitant to use them for security reasons.
I'd also rather not use the trick suggested in the answer to a similar question here (https://stackoverflow.com/a/32859695/1217178) since I have no idea whether there are parts of the API that will crash if they are tricked into executing against an untested older version of the APK.
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
Well, it's kinda the point of having artifact versioning. Presumably, Google intends to keep those older artifacts around in your local Google Repository.
If you're seriously nervous, back up your developer machine. (and if you're not seriously nervous, also back up your developer machine) You can always rummage around an old backup to grab the artifacts and cook up some means of using them in your app.
It is compiling into your app the JARs/AARs that represented the Play Services SDK for that version. It's how all artifact versioning works. If you go to your Android SDK installation, and look in
extras/google/m2repository/com/google/android/gms/
, you will see the various artifact names. Go into those directories, and you will see the versions. Go into a version directory, and you will see the files. Go into the files, and you will see the bits. You can try diving down into the bits to see electrons or something, but I think that'll be carrying it a wee bit too far.