Flutter应用接入Google Map发布到Play Store后仅显示空白地图如何解决
问题解决步骤
- 核对Google Cloud API密钥的包名准入配置,确认你填写的原包名和AndroidManifest.xml中
package属性、build.gradle中applicationId完全一致,没有拼写、大小写、后缀的差异。如果开启了API密钥的应用限制,必须同时添加上传密钥的SHA-1指纹和Play App Signing的应用签名SHA-1指纹两个值,仅填其中一个会导致部分场景下验证失败。 - 检查Google Cloud Console中Google Maps Android API的配额状态,确认对应API没有达到调用上限,也没有被Google官方标记为异常调用触发限流,返回码503大概率对应服务端限流/拒绝服务逻辑,和包名绑定的调用统计直接相关。
- 清理Flutter项目构建缓存,执行以下命令重新构建发布包:
构建过程中确认没有资源被混淆裁剪,检查ProGuard/R8规则中是否加入了Google Map相关的保留规则,避免地图SDK核心类被裁剪:flutter clean flutter pub get cd android ./gradlew clean ./gradlew bundleRelease-keep class com.google.android.gms.maps.** { *; } -keep interface com.google.android.gms.maps.** { *; } - 确认你的原包名没有被其他Google Cloud项目的API密钥绑定占用,同一个包名+SHA-1组合只能关联一个生效的Google Maps API密钥,如果之前有其他项目绑定过该组合,会导致新密钥验证失败。
- 如果以上步骤都无效,可在Google Cloud Console提交API服务异常申诉,说明你的包名使用场景,申请解除针对该包名的临时限流限制。
内容的提问来源于stack exchange,提问作者Amal Masri
相关产品推荐
相关产品推荐

