You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为依赖Google Play Services的谷歌地图应用使用非Nexus 5模拟器

嘿,我来帮你解决这个模拟器的Google Play Services问题——我之前维护老应用升级Android Studio时也踩过几乎一模一样的坑,给你整理几个亲测有效的方案:

一、先搞定「其他模拟器提示更新Google Play Services」的问题

这个问题本质是你应用依赖的老版本Google Play Services,和新模拟器系统镜像里的版本不兼容,毕竟你的应用已经3年了,用的Maps v2对应的Play Services版本肯定比较旧,而Android Studio 3.1的默认模拟器镜像版本偏新,两边对不上就会弹更新提示还没法解决。

具体解决步骤:

  • 第一步:确认你应用的Play Services版本
    打开Module级别的build.gradle,找到Maps相关的依赖行,比如:

    implementation 'com.google.android.gms:play-services-maps:10.2.0'
    

    把这个版本号记下来(比如上面的10.2.0)。

  • 第二步:创建匹配版本的模拟器
    打开AVD Manager,新建模拟器时注意这几点:

    1. 不要选最新的API级别,比如如果你的Play Services是10.x版本,对应选API 23(Android 6.0)左右的系统镜像;
    2. 一定要选带「Google Play」标签的镜像(不是「Google APIs」)——带Google Play的镜像支持直接在模拟器内更新Play Services,或者本身版本更适配老应用;
    3. 删掉之前那些出问题的模拟器,重新建符合要求的,大概率就能解决更新提示的问题。
  • 第三步:如果不想换模拟器,就调整依赖版本
    如果一定要用现有模拟器,先看它提示要更新到哪个Play Services版本,然后把build.gradle里的Maps依赖版本改成这个号,同步后重新运行。不过要注意:跨大版本调整可能会有API变更,比如从10.x跳到16.x,得测试下地图功能有没有崩。

二、关于Nexus 5模拟器的显示异常(通用排查方向)

结合老应用+Maps v2的情况,大概率是地图加载相关的问题,你可以从这几个方向查:

  • 检查Google Maps API密钥:确认在Google Cloud控制台里,密钥绑定的SHA-1和包名和你当前应用完全匹配,有没有过期或者权限没开;
  • 看Logcat日志:搜索GoogleMap或PlayServices相关的报错,比如有没有位置权限未授予、API密钥无效的提示;
  • 确认模拟器设置:Nexus 5模拟器有没有开启位置服务,系统镜像是不是带Google Play的版本。
额外小贴士

Android Studio 3.1确实有点老了,虽然你要维护老应用,但可以考虑升级到4.x的稳定版——对模拟器的兼容性更好,而且不会影响老应用的编译,能省不少麻烦。另外别忘了在AndroidManifest.xml里加Play Services版本的meta-data:

<meta-data
    android:name="com.google.android.gms.version"
    android:value="@integer/google_play_services_version" />

内容的提问来源于stack exchange,提问作者user2711811

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 08:48:53