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

RAD Studio 11 TMapView组件开发安卓Google Map应用启动崩溃/地图空白求助

问题诱因

  • 启动崩溃核心原因:Google Maps Android SDK初始化时会校验当前应用的包名、签名SHA-1指纹是否和你在Google Cloud控制台给API密钥绑定的限制信息匹配,校验失败时SDK会直接抛出安全异常,触发应用闪退。另外如果你的AndroidManifest.xml未声明地图SDK必需的权限、API密钥元数据项,也会导致SDK初始化失败崩溃。
  • 改绑定包名后可启动但地图空白原因:你修改绑定包名后刚好规避了SDK的崩溃级校验逻辑(部分版本SDK校验不通过时不会强制闪退),但API密钥和你实际应用的签名、包名仍然不匹配,Google服务端拒绝返回地图瓦片数据,因此地图区域显示为空。此外如果API密钥未开启Google Maps Android API服务,也会出现相同的空白问题。

可行修复方案

1. 修正API密钥绑定规则

  • 进入Google Cloud控制台对应项目的凭据管理页,找到你使用的地图API密钥,先确认该密钥已开启「Google Maps Android API」服务,未开启的话前往API库搜索启用即可。
  • 提取RAD Studio 11当前打包使用的签名文件的SHA-1指纹:如果是调试模式,默认签名文件路径为C:\Users\<你的系统用户名>\AppData\Roaming\Embarcadero\BDS\22.0\debug.keystore,使用以下命令提取指纹,默认密钥库密码为android:
    keytool -list -v -keystore debug.keystore -alias androiddebugkey
  • 将提取到的SHA-1指纹、你应用的实际包名(可在RAD Studio项目选项→应用程序→清单页面查询),填写到API密钥的安卓应用限制列表中,保存配置后等待3-5分钟生效。
  • 如果是打Release正式包,需要额外把Release模式使用的签名文件的SHA-1指纹也添加到绑定列表,避免正式包出现相同问题。

2. 核对安卓清单文件配置

确认你的AndroidManifest.xml中已添加地图必需的权限以及API密钥声明:

<!-- 基础权限 -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!-- 定位权限(按需添加,不需要定位可以不加) -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

<application ...>
    <!-- Google Map API密钥声明 -->
    <meta-data
        android:name="com.google.android.geo.API_KEY"
        android:value="你的实际API密钥" />
    ...
</application>

3. RAD Studio 11专项检查

  • 打开项目→选项→Deployment页面,确认Google Play服务相关的依赖库已全部勾选,没有遗漏依赖项。
  • 清空项目缓存后重新编译打包,避免旧的配置残留导致问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 00:45:10