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

Android应用Google Maps本地正常,上架Play Store后仅显示Logo无地图

解决Play Store发布后Google Map仅显示Logo的问题

这种情况我碰到过好多次了,几乎都是Google Maps API密钥的发布版配置出了问题——本地Debug/Release都正常,但上架后地图加载失败,核心原因就是发布版的API密钥没有正确关联你的应用签名信息,下面给你一步步排查解决:

1. 核对Release版API密钥与Cloud控制台配置

首先打开src/release/values/google_maps_api.xml,确认里面的密钥和Google Cloud控制台中你为发布版创建的API密钥完全一致。别犯低级错误——比如不小心把Debug版密钥粘到Release文件里了。

2. 检查API密钥的应用限制(重中之重)

这是最容易踩坑的地方:Google Cloud控制台里的API密钥必须设置正确的Android应用限制,否则地图会被拒绝加载。这里要注意两个关键点:

  • SHA-1指纹:本地Debug用的是debug keystore的SHA-1,而发布版需要用你上传到Play Store的签名指纹。如果你的应用开启了Play App Signing,还需要额外添加Play生成的「应用签名证书」SHA-1(在Play控制台→应用签名页面可以找到)。
  • 包名:必须严格匹配你应用的正式包名,不能有拼写错误。

操作步骤:

  • 打开Google Cloud控制台,找到你的Maps API密钥,点击「编辑」
  • 在「应用限制」中选择「Android应用」
  • 点击「添加项目」,填入你的包名和对应的SHA-1指纹(如果有Play App Signing,要添加两个指纹:本地上传密钥的SHA-1 + Play应用签名证书的SHA-1)

3. 确认Maps SDK服务已启用

别小看这个——有时候可能在配置Debug密钥时启用了Maps SDK for Android,但发布版密钥所在的项目(或者同一个项目里的权限)没开。去Google Cloud控制台的「API和服务」→「已启用的API和服务」,确认Maps SDK for Android是开启状态。

4. 检查Gradle与Manifest配置

  • 确保Module级别的build.gradle中,Release变体正确引用了release目录的资源(Android Studio自动生成的一般没问题,但可以核对下):
    sourceSets {
        release {
            res.srcDirs = ['src/release/res']
        }
        debug {
            res.srcDirs = ['src/debug/res']
        }
    }
    
  • 确认AndroidManifest.xml中的Maps meta-data是引用的字符串资源,而非硬编码密钥:
    <meta-data
        android:name="com.google.android.geo.API_KEY"
        android:value="@string/google_maps_key" />
    
    这样Debug和Release才会自动加载各自目录下的密钥。

5. 本地测试发布版包

不要直接上传到Play Store碰运气!先生成签名的Release APK/AAB,安装到测试设备上运行。如果本地安装的发布版包地图正常,那大概率是Play Store的签名配置没同步到Cloud控制台;如果本地也不行,那就是前面的密钥限制或配置有问题,继续排查。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 04:20:19