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

Expo开发构建报错API key not found,已配置密钥与SHA-1仍未解决求方案

解决方案:API Key 未找到报错排查

1. 确认app.json及原生配置的正确性

  • 检查app.json里的expo.android.config.googleMaps.apiKey字段是否准确,示例配置:
    {
      "expo": {
        "android": {
          "config": {
            "googleMaps": {
              "apiKey": "你的实际API密钥"
            }
          }
        }
      }
    }
    
  • 若使用bare workflow(原生项目),需额外检查AndroidManifest.xml中的meta-data声明,确保名称和值无拼写错误:
    <meta-data
        android:name="com.google.android.geo.API_KEY"
        android:value="你的实际API_KEY"/>
    

2. 验证SHA-1与API密钥的绑定

  • 确认谷歌凭据中绑定的SHA-1是当前使用的签名指纹:
    • 调试版:通过命令keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android获取
    • 发布版:使用正式打包密钥库生成对应SHA-1
  • 检查谷歌云控制台中,该API密钥已启用Maps SDK for Android服务,未启用会直接导致密钥无效。

3. 清理缓存并重新构建

  • 清除Expo缓存:执行expo r -c或npx expo start --clear
  • 原生项目需执行./gradlew clean(Android),然后重新构建
  • 卸载设备上的旧应用,避免缓存的旧配置干扰新安装包

4. 检查API密钥的限制规则

  • 应用限制需选择Android应用,并准确填写包名和对应的SHA-1,不要设置IP限制(Android应用不需要)
  • 确认API限制仅启用了所需服务(如Maps SDK for Android、Geocoding API等),错误的限制会导致访问被拒绝

5. 验证密钥本身的有效性

  • 在谷歌云控制台凭据页面确认密钥状态为活跃,未被禁用
  • 发送以下请求验证密钥可用性(替换YOUR_API_KEY):
    GET https://maps.googleapis.com/maps/api/geocode/json?address=New+York&key=YOUR_API_KEY
    
    若返回正常JSON结果,说明密钥有效,问题出在项目配置或绑定信息。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 22:19:56