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

Expo v49安卓开发构建中Google Maps API密钥缺失问题求助

解决Expo v49安卓开发构建中API密钥未找到的问题

以下是逐一排查和解决的步骤:

1. 确认google-services.json的有效性

  • 检查文件路径:确保google-services.json放在项目根目录,和app.config.js同级,路径./google-services.json无误
  • 核对文件内容:打开文件,确认client[0].api_key.current_key存在且是正确的Google Maps API密钥;同时检查client[0].client_info.android_client_info.package_name和你app.config.js里的android.package完全一致(大小写、拼写都不能错)

2. 验证Expo配置中的密钥配置

  • 确保android.config.googleMaps.apiKey的值和google-services.json里的密钥完全一致,没有拼写错误或多余字符
  • 注意:Expo v49中安卓的Google Maps密钥配置是config.googleMaps.apiKey,你的配置写法是对的,但要保证值正确

3. 按需配置环境区分的google-services.json

如果你的开发和生产环境用不同的配置文件,需要在app.config.js里通过环境变量切换:

export default {
  expo: {
    // ...其他配置
    android: {
      package: 'demo',
      googleServicesFile: process.env.APP_VARIANT === 'development' 
        ? './google-services-dev.json' 
        : './google-services-prod.json',
      // ...其他安卓配置
    }
  }
}

同时要确保构建时APP_VARIANT变量正确传递,比如在eas.json的development profile里添加env配置,或者构建时手动指定:eas build --profile development --platform android --env APP_VARIANT=development

4. 本地预构建验证配置是否生效

运行命令生成本地安卓项目,直接检查Manifest文件:

npx expo prebuild --platform android

打开android/app/src/main/AndroidManifest.xml,查找是否存在如下meta标签:

<meta-data
    android:name="com.google.android.geo.API_KEY"
    android:value="你的API密钥"/>

如果没有这个标签,说明Expo没有正确注入配置,需要重新核对app.config.js的写法,确保符合Expo v49的规范

5. 清除缓存后重新构建

缓存可能导致旧配置残留,运行以下命令清除缓存并重新构建:

eas build --clear-cache --profile development --platform android

6. 检查Google Cloud平台的密钥设置

  • 登录Google Cloud控制台,找到你的API密钥,确认已启用Google Maps Android API
  • 检查密钥的限制条件:确保绑定了正确的SHA-1指纹(开发构建的SHA-1和生产构建的可能不同,需要都添加),并且包名和你app.config.js里的android.package完全匹配

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 04:48:28