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

Flutter集成Google Maps Platform抛出SecurityException问题求助

解决google_maps_flutter中SecurityException(未知调用包名com.google.android.gms)问题

针对你遇到的调试时地图可渲染但抛出SecurityException、发布APK后地图完全无法加载的问题,可按以下步骤排查修复:

1. 检查Google Cloud API密钥的限制配置

  • 登录Google Cloud控制台,找到对应Maps SDK for Android的API密钥,进入密钥详情页:
    • 确认应用限制中已添加调试签名SHA-1和发布签名SHA-1,两者缺一不可——调试用APK依赖调试签名,发布APK依赖发布签名,缺任意一个都会导致对应环境下的权限验证失败
    • 确认配置的包名和项目app/build.gradle中的applicationId完全一致(注意大小写,Google Cloud的包名限制是区分大小写的)

2. 修正AndroidManifest.xml配置

  • 确保已添加必要权限,放在<manifest>标签内:
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    
  • 确认API密钥的<meta-data>标签位置正确(必须在<application>标签内部),且名称为com.google.android.geo.API_KEY(不要用旧的com.google.android.maps.v2.API_KEY):
    <application
        android:label="你的应用名"
        android:name="${applicationName}"
        android:icon="@mipmap/ic_launcher">
        <!-- 其他组件 -->
        <meta-data
            android:name="com.google.android.geo.API_KEY"
            android:value="你的GMP API密钥"/>
    </application>
    
  • 检查Manifest中是否存在自定义权限或provider配置,避免误限制com.google.android.gms的调用权限

3. 验证Gradle签名与applicationId配置

  • 在app/build.gradle中,确认debug和release构建类型的签名配置:
    • 调试构建:如果使用自定义调试签名,需确保其SHA-1已添加到API密钥限制;默认调试签名可通过Android Studio的Signing Report工具获取SHA-1
    • 发布构建:配置正确的签名文件,通过以下命令获取发布签名SHA-1:
      keytool -list -v -keystore 你的签名文件路径.jks -alias 签名别名
      
  • 确认defaultConfig中的applicationId和Google Cloud配置的包名完全匹配

4. 设备端Google Play服务调试

  • 测试设备上进入设置→应用→Google Play服务→存储,清除缓存和数据后重启设备,再重新安装APK
  • 确保设备上的Google Play服务为最新版本,旧版本可能存在兼容问题

5. 依赖兼容性检查

  • 确认项目app/build.gradle中的compileSdkVersion不低于31(google_maps_flutter:^2.4.0的推荐配置)
  • 可尝试升级google_maps_flutter到最新稳定版,避免旧版本的已知bug

验证步骤

  1. 调试模式下,确认API密钥已添加调试SHA-1,运行后查看日志是否仍有异常
  2. 生成发布APK前,将发布签名SHA-1添加到API密钥限制,重新构建APK并安装测试

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 18:07:35