我要用安卓google maps v2android emulator/android studio 0.4.0.其中一个要求是将版本低于/等于emulator级的版本放入项目google-play-services_lib中.我的模拟器使用api lv 17.问题是,如何下载比android sdk manager下载的旧版本google-play-services_lib

推荐答案

我意识到这是一个老问题,但我今天也遇到了同样的问题(对于真正的设备,而不是模拟器),并且找到了解决方案.

我知道你可以添加代码来提示用户升级到最新版本(见@nathan walters的 comments ),但由于复杂的原因,在我的情况下,我需要使用用户已经安装在设备上的任何版本(如果有的话),因此更喜欢使用旧版本的客户端库(google-play-services_-lib)编译/构建

因此,进一步研究之后,我解包了Android SDK Manager用来查找和安装"附加"软件包的xml,包括最新版本的Google Play服务

当前版本(截至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),在旧版本的模拟器中硬连线.我还没有在模拟器上测试所有这些版本,但已经在模拟器中成功测试了基于谷歌API(API 19)的AVD的谷歌 map .

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

[更新:]

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

go :

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

在那里你可以找到包含AAR格式旧版本的目录——只需重命名为即可.拉链拉出来.

Linux相关问答推荐

空字符串和空文件的区别

Bash:将多行转换为单行的命令

Linux 中大型 TSV 的条件编辑

如何拆分和计算 Bash 中单词的出现次数?

Linux 系统调用文档

使用具有特定值的字段对文件进行排序

为什么 printf 仍然可以使用低于 XMM 寄存器中 FP args 数量的 RAX?

具体来说,fork() 如何处理 Linux 中 malloc() 动态分配的内存?

为什么在编译 K&R2 第 1 章中最长的行示例时出现getline 的类型冲突错误?

将以前忽略的目录添加到 Git 存储库

如何以另一个用户的身份使用 sudo 在 bash 子shell 中执行一系列命令?

自动化 Amazon EBS 快照 任何人在 linux 上都有一个好的脚本或解决方案

试运行 cron 条目

给定一个 linux 用户名和密码,我如何测试它是否是有效帐户?

有什么方法可以在linux中保留但不提交内存?

在 Python 中删除 Root 权限

如何找到只对所有者具有特定权限的文件?

zsh:找不到命令 laravel

Linux:删除多个文件的文件扩展名

具有所有内核的 Gzip