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

Android集成Google Map遇灰屏、启动名称显示异常问题求助

Android集成Google Maps两个异常问题排查方案

问题1:桌面Launcher显示应用名为MapsActivity而非MyApp

问题成因

Android系统桌面读取应用名称的逻辑为:优先取配置了android.intent.action.MAIN和android.intent.category.LAUNCHER过滤器的Activity的android:label属性值,只有当Launcher Activity未配置label时,才会读取<application>标签下的android:label值。
你当前的Manifest配置中,作为启动页的MapsActivity单独设置了android:label="@string/title_activity_maps",该字符串资源对应的值为MapsActivity,因此直接覆盖了应用层级的名称配置,导致桌面显示错误。

解决方案

二选一即可:

  • 若不需要单独给地图页设置独立的页面标题,直接将MapsActivity标签下的android:label属性值修改为@string/app_name即可。
  • 若希望地图页打开后顶部标题栏仍显示MapsActivity,则删除Manifest中MapsActivity的android:label属性,在Activity的onCreate方法中单独设置页面标题:
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    // 原有初始化逻辑保持不变
    supportActionBar?.title = getString(R.string.title_activity_maps)
}

这种方式设置的标题仅作用于应用内页面,不会影响桌面显示的应用名。


问题2:地图区域显示灰色、仅展示Google标识无地图瓦片

该问题均为配置或鉴权类异常,按以下优先级排查即可:

  • 检查API密钥注入是否生效
    你在Manifest中使用了${MAPS_API_KEY}占位符配置密钥,首先确认模块级build.gradle文件中是否配置了对应占位符的替换值,未配置的话打包后该字段为空,会直接导致鉴权失败。可以临时将meta-data的value替换为你申请的明文API密钥做测试,排除占位符配置错误问题。
  • 检查API密钥的限制配置
    Google Cloud平台的API密钥默认会做应用鉴权,你需要将开发所用的签名证书SHA-1值、应用包名me.myapp添加到密钥的允许列表中。注意debug环境和release环境的签名证书SHA-1不一致,开发阶段需要先把本机debug keystore的SHA-1加入列表。
    获取debug签名SHA-1的方式:打开Android Studio右侧Gradle面板,依次执行项目名 > 模块名 > Tasks > android > signingReport任务,运行后在控制台即可看到debug变体对应的SHA-1值。
  • 检查对应服务是否启用
    确认Google Cloud控制台中已为当前项目启用Maps SDK for Android服务,注意不要误开Web端、iOS端的Maps服务,服务不匹配同样会鉴权失败。
  • 通过日志定位精准错误
    连接设备运行应用,过滤Logcat中tag为GoogleMapsAndroidAPI的日志,密钥错误、签名不匹配、服务未启用等问题都会在该tag下输出明确的错误码和修复指引,直接按日志提示调整即可。
  • 基础环境检查
    确认测试设备网络可正常访问Google服务,设备已安装并更新到最新版Google Play服务,国行无GMS框架的设备会出现地图加载异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 11:18:15