java - 如何下载较旧的 google play 服务?

标签 java android linux google-maps gradle

我打算将 android google maps v2android 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 管理器用来查找和安装“附加”包的 xml,包括最新版本的 Google Play 服务。
如果您有兴趣从这里开始:https://dl-ssl.google.com/android/repository/addon.xml

对于为您提供 google-play-services_lib 库的当前版本(截至 2014 年 11 月 10 日):

https://dl-ssl.google.com/android/repository/google_play_services_6171000_r21.zip

旧版本位于 google 服务器上的同一位置(尽管它们随时可能消失),因此如果您准备将当前安装的库移到一边并手动解压缩旧 zip,那么您可以安装旧版本.我发现了以下内容:

同样的技术可以让您针对在旧版本模拟器中硬连线的不可升级的旧版本 Google map (Google Play 服务)进行测试。我还没有针对模拟器测试所有这些版本,但已经在模拟器中成功测试了谷歌地图,以获得基于 Google API (API 19) 的 AVD。

Google 偶尔会尝试更新模拟器。这是一个问题跟踪线程,讨论客户端库和模拟器之间的版本不兼容问题以及谷歌修复这些问题的各种尝试:https://code.google.com/p/android/issues/detail?id=57880

[更新:]

@btrue see answer below现在有一个比我的答案好多更好的答案

前往:

<your path to android sdk>/extras/google/m2repository/com/google/android/gms/play-services/

您可以在其中找到包含 AAR 格式的旧版本的目录 - 只需重命名为 .zip 即可提取。

关于java - 如何下载较旧的 google play 服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20982533/

相关文章:

linux - 使用 perf 确定进程何时以及为何进入不间断 sleep

c - 在内核中使用 sock_create、accept、bind 等

java - 从内部列表 java 8 的对象列表中获取 ID 列表

android - 如何在步行模式下打开谷歌地图

java - 为什么从方法返回时我的 ResultSet 变空?

java - 屏幕底部 1/3 处的对齐按钮

android - 将光标设置在 EditText 的右侧,提示重力居中

C++ Boost ASIO 简单的周期性定时器?

java - 编写仅接受参数的 `jjs` shebanged 脚本

java - Google Plus Api 运行时异常