我将使用android google maps v2
与 android emulator/android studio 0.4.0
。其中一个要求是将项目中的google-play-services_lib
版本设置为低于或等于emulator
级别。我的模拟器使用的是api lv 17
。问题是如何下载比android sdk manager
下载的版本更旧的google-play-services_lib
?
我将使用android google maps v2
与 android emulator/android studio 0.4.0
。其中一个要求是将项目中的google-play-services_lib
版本设置为低于或等于emulator
级别。我的模拟器使用的是api lv 17
。问题是如何下载比android sdk manager
下载的版本更旧的google-play-services_lib
?
我知道这是一个老问题,但我今天遇到了相同的问题(不是模拟器而是真实设备),并找到了解决方案。
我知道你可以添加代码来提示用户升级到最新版本(请参见@nathan-walters的评论),但由于某些复杂的原因,在我的情况下,我需要使用用户已经安装在他们的设备上的任何版本,并且更喜欢使用旧版客户端库(google-play-services_lib)进行编译/构建。
因此,进一步研究后,我解压了Android SDK Manager使用的xml,以查找和安装“额外”包,包括最新版本的Google Play服务。
如果您有兴趣,请从这里开始:https://dl-ssl.google.com/android/repository/addon.xml
对于当前版本(截至2014年11月10日),这将为您提供google-play-services_lib的库:
https://dl-ssl.google.com/android/repository/google_play_services_6171000_r21.zip
旧版本仍在谷歌服务器的同一位置(虽然它们随时可能消失),因此,如果您准备将当前安装的库移开并手动解压旧的zip文件,则可以安装旧版本。 我找到了以下内容:
同样的技术可以让你对不可升级的旧版Google Maps(Google Play Services)进行测试,这些版本已经硬编到旧版模拟器中。我没有测试所有这些版本是否与模拟器兼容,但已经成功地在基于Google APIs(API 19)的AVD模拟器上测试了Google Maps。
谷歌确实偶尔尝试更新模拟器。下面是一个问题跟踪线程,讨论客户端库和模拟器之间的版本不兼容问题以及谷歌各种尝试修复它们的方法:https://code.google.com/p/android/issues/detail?id=57880
[更新:]
@btrue 请参见下面的答案 现在有一个更好的答案比我的答案
前往:
<your path to android sdk>/extras/google/m2repository/com/google/android/gms/play-services/
在这里,您将找到包含以AAR格式发布的旧版本的目录 - 只需将其重命名为.zip以进行提取。
接受的答案太麻烦了。 Google实际上在SDK管理器中分发旧版本。
在“Extras”下,有“Google Repository”。
存储库中有GPS库,版本可以回溯到3.1.36版。
它们以AAR格式存储,这只是构建项目的zip文件。
将名称更改为*.zip,解压缩后将得到一个classes.jar,其中包含所有GPS类的jar文件。
如果您不需要任何资源,则可以将该jar文件添加到类路径中。完成。
ls -l /Applications/Programming/adt-bundle-mac-x86_64-20140702/sdk/extras/google/m2repository/com/google/android/gms/play-services/
total 24
drwxr-xr-x+ 8 Norrin staff 272 Jan 13 01:08 3.1.36
drwxr-xr-x+ 8 Norrin staff 272 Jan 13 01:08 3.1.59
drwxr-xr-x+ 8 Norrin staff 272 Jan 13 01:08 3.2.25
drwxr-xr-x+ 8 Norrin staff 272 Jan 13 01:08 3.2.65
drwxr-xr-x+ 11 Norrin staff 374 Feb 10 20:09 4.0.30
drwxr-xr-x+ 8 Norrin staff 272 Jan 13 01:08 4.1.32
drwxr-xr-x+ 8 Norrin staff 272 Jan 13 01:08 4.2.42
drwxr-xr-x+ 8 Norrin staff 272 Jan 13 01:08 4.3.23
drwxr-xr-x+ 8 Norrin staff 272 Jan 13 01:08 4.4.52
drwxr-xr-x+ 8 Norrin staff 272 Jan 13 01:08 5.0.89
drwxr-xr-x+ 8 Norrin staff 272 Jan 13 01:08 6.1.11
drwxr-xr-x+ 8 Norrin staff 272 Jan 13 01:08 6.1.71
drwxr-xr-x+ 8 Norrin staff 272 Feb 4 13:43 6.5.87
-rw-r--r--+ 1 Norrin staff 703 Jan 13 01:08 maven-metadata.xml
-rw-r--r--+ 1 Norrin staff 32 Jan 13 01:08 maven-metadata.xml.md5
-rw-r--r--+ 1 Norrin staff 40 Jan 13 01:08 maven-metadata.xml.sha1
unzip aar_file_name.aar -d unzip_folder_name
。 - Nhat Dinhplay-services-location/10.0.1/play-services-location-10.0.1.aar
。 - Pelletgoogle-play-services_lib
与模拟器版本无关。google-play-services_lib
是一个库。它不是Google Play服务本身,而是用于利用Google Play服务的客户端库。SupportMapFragment
),但Play Services SDK不需要Android支持包。