Google 地图在发布模式下不呈现

Google Map doesnt render in Release mode

我一直在调试模式下使用 Google 地图 API,并且一直工作正常,直到它处于发布模式。如果我错了请纠正我,如果我们希望发布我们的应用程序,我们需要 Google 地图的单独 API 密钥。

我做了以下事情:

为了提取 SHA-1 密钥,我导航到 project/android/app,在那里我可以看到 myapp.keystore 和 运行 命令 keytool -list -v -keystore mypp.keystore

创建 API_KEY 后,我导航到 project/android/app/src/main/AndroidManifest.xml 并修改密钥

  <meta-data
    android:name="com.google.android.geo.API_KEY"
    android:value="xxxxxx"/>

还有什么可以遗漏的?提前致谢

请注意,这是一个 React-Native 项目,没有单独的 ReleaseDebug directory/path 来配置 APIKEY

DEBUGRELEASE 版本应该有单独的密钥。如果您在 Android Studio 中创建 Google Maps Activity,它将创建具有 API_KEY 值的单独资源文件 google_maps_api.xml。如您所见,调试和发布版本有不同的 SHA-1 certificate fingerprint,这意味着它们的密钥不应该相同。

当然,这意味着清单中提到的代码应该更改为资源引用。

<meta-data
    android:name="com.google.android.geo.API_KEY"
    android:value="@string/google_maps_key"/>

关键文件应该在以下目录:

src/debug/res/values/google_maps_api.xml

src/release/res/values/google_maps_api.xml

这样做

a) 打开 android 工作室。 Build --> Generate Signed APK 然后点击 Next

b) 复制您的 keystore 路径和密钥 alias.

c) 现在打开终端并输入:

keytool -list -v -keystore "key store path" -alias "key alias"

d) 输入您的密钥密码,这将打印出您的版本 SHA1。

e) 然后在 google 项目中使用这个 SHA1,将它粘贴到那里并保存更改,现在 运行 应用程序再次加载地图

Update:-

生成debug密钥 这样做

a) 单击右侧选项栏上的 Gradle 选项卡

b) 转到根文件夹 -> 任务 -> android -> signingReport

c) 双击,这将使用 signingReport 和 post 在您的底部视图中构建您的 SHA1。