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

Expo+React Native Maps安卓端Google Maps API Key缺失问题排查

解决方案

1. 修正环境变量引用的名称错误

你在本地.env和EAS Secret中配置的变量是EXPO_PUBLIC_GOOGLE_MAPS_ANDROID_APIKEY_PROD,但app.config里引用的是process.env.EXPO_PUBLIC_GOOGLE_MAPS_APIKEY_PROD,变量名少了ANDROID字段,这是导致Key无法读取的核心问题。修改app.config配置:

android: {
  config: {
    googleMaps: {
      apiKey: process.env.EXPO_PUBLIC_GOOGLE_MAPS_ANDROID_APIKEY_PROD,
    },
  },
},

2. 验证EAS Secret的配置有效性

  • 确认EAS Secret的**作用范围(scope)**设置为project,而非account,确保当前构建的项目能读取到该Secret。
  • 检查Secret的名称完全匹配EXPO_PUBLIC_GOOGLE_MAPS_ANDROID_APIKEY_PROD,注意大小写严格一致。

3. 本地预校验配置是否生效

运行命令expo config --type public,查看输出内容里的android.config.googleMaps.apiKey是否正确显示你的API Key:

  • 如果本地输出为空,检查根目录的.env文件是否正确放置,且未被.gitignore排除;同时重启Expo开发服务器,确保环境变量重新加载。
  • 本地测试时可以用临时的测试API Key,正式构建依赖EAS Secret即可。

4. 硬编码Key排查环境变量问题

暂时在app.config里直接写入API Key,重新执行EAS构建:

android: {
  config: {
    googleMaps: {
      apiKey: "你的Google Maps API Key",
    },
  },
},
  • 若构建后地图正常显示,说明是环境变量注入环节出问题,回到步骤2检查EAS Secret配置。
  • 若仍报错,检查Google Cloud控制台:确保该API Key已启用Maps SDK for Android服务,且Key的限制规则(包名、SHA-1签名)与EAS构建的应用完全匹配。

5. 排除配置冲突

  • 不要手动修改AndroidManifest.xml添加Google Maps的meta-data字段,Expo会通过app.config自动生成,手动添加会导致冲突。
  • 你的地图组件代码中针对Android指定PROVIDER_GOOGLE的逻辑是正确的,无需调整。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 12:27:09