You need to enable JavaScript to run this app. Android应用release构建模式下Google Maps无法显示问题求助
优惠活动
大模型
产品
解决方案
定价
更多

Android应用release构建模式下Google Maps无法显示问题求助

问题原因
  • 签名指纹不匹配:Google Maps SDK for Android的API密钥会和应用的签名SHA-1、包名绑定校验。你当前配置的API密钥仅允许debug签名(Android Studio默认debug.keystore生成的指纹)的应用调用,release版本使用的是你自定义签名文件的SHA-1值,不在API密钥的允许列表中,Google服务端直接拒绝了地图加载请求,这是最常见的原因。
  • 混淆裁剪异常:release构建默认开启R8/ProGuard压缩混淆,如果没有添加Google Maps SDK的混淆豁免规则,会导致地图相关类被误删除或重命名,引发功能异常。
  • release路径配置错误:src/release/res/values/google_maps_api.xml文件内的google_maps_key值填错、或文件不存在,导致Manifest读取不到正确的API密钥。
解决步骤
  1. 获取release签名的SHA-1指纹
    本地打开命令行执行以下keytool命令(需要Java环境):
    keytool -list -v -keystore 你的release签名文件路径(.jks/.keystore后缀) -alias 你的签名别名
    
    输入签名库密码后,从输出内容中复制SHA-1对应的值。
  2. 更新Google Cloud API密钥配置
    进入Google Cloud控制台对应项目的API密钥管理页,找到你正在使用的Maps SDK for Android密钥,在「Android应用限制」板块新增一条规则,填入你刚获取的release SHA-1值和你的应用包名,保存后等待5分钟左右规则生效。
    注:你不需要上架应用商店,无需添加Google Play应用签名的SHA-1值。
  3. 补充混淆规则
    在app模块的proguard-rules.pro文件中添加如下规则,豁免地图SDK的混淆裁剪:
    -keep class com.google.android.gms.maps.** { *; }
    -keep interface com.google.android.gms.maps.** { *; }
    -dontwarn com.google.android.gms.maps.**
    
  4. 验证release配置文件
    确认src/release/res/values/google_maps_api.xml文件存在,且文件内的google_maps_key字符串值和Google Cloud控制台的API密钥完全一致,无拼写错误。

配置完成后重新构建release版APK安装即可正常加载地图。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.08 00:51:00