【问题标题】:Google API doesnt work when published (React-Native app) but fine on emulator (Expo)Google API 在发布时不起作用(React-Native 应用程序)但在模拟器上很好(Expo)
【发布时间】:2023-02-03 10:56:11
【问题描述】:

React 本机应用程序在 Android Studio 模拟器(使用 Expo)上运行良好,但是当我发布到 Play Store 并从那里打开时,我无法通过启动画面(它只是关闭)。

当我寻求反馈时,堆栈跟踪显示: 未找到 RuntimeException API 密钥。检查元数据 android:name="com.google.android.geo.API_KEY" android:value="your API key" 在 AndroidManifest.xml 的元素中

  1. 如果 API 密钥不正确,为什么它在模拟器上运行良好?
  2. 我应该编辑什么 AndroidManifest.xml?我有 20 个同名文件: “...\node_modules\react-native-maps\android\src\main\AndroidManifest.xml” “...\node_modules\react-native\ReactAndroid\src\androidTest\AndroidManifest.xml”等

【问题讨论】:

    标签: react-native google-api expo android-manifest react-native-maps


    【解决方案1】:

    尝试在 app.json 上添加 Api 密钥文件:

    对于 IOS:将您的 API 密钥复制到 ios.config.googleMapsApiKey 字段下的 app.json 中。

    对于安卓:将您的 API 密钥复制到 android.config.googleMaps.apiKey 字段下的 app.json 中。

    像这样:

     "config": {
        "googleMaps": {
          "apiKey": "XXXXXXXXXXXXXX"
        }
      }
    

    有关更多信息,请阅读以下内容:

    https://docs.expo.dev/versions/latest/sdk/map-view/#deploy-app-with-google-maps

    【讨论】:

      【解决方案2】:

      如果您在获取 API 密钥时使用了 release keystore sha,那么您可能会遇到这个问题。 Play 商店在将应用程序上传到商店时使用自己的密钥重新签署应用程序。在这种情况下,您需要从 play connect 获取 sha 并将此 sha 用作 API 密钥。

      【讨论】:

        猜你喜欢
        • 2023-02-02
        • 1970-01-01
        • 2011-08-03
        • 2022-12-29
        • 2019-02-23
        • 2021-01-09
        • 2020-10-07
        • 2019-12-28
        • 1970-01-01
        相关资源
        最近更新 更多