Google Map不在发布模式下呈现

时间:2018-09-20 10:34:08

标签: android google-maps react-native google-cloud-platform react-native-maps

我一直在调试模式下使用Google Maps API,并且一直运行良好,直到进入发布模式。如果我错了,请纠正我,如果我们想发布我们的应用程序,我们需要一个单独的Google Maps API密钥。

enter image description here

我已完成以下操作:

  • 创建了新的API密钥
  • 在我的GCP项目中启用了结算帐户

为了提取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目录/路径来配置APIKEY

2 个答案:

答案 0 :(得分:0)

DEBUGRELEASE版本的密钥应分开。如果您在Android Studio中创建Google Maps Activity,它将创建具有API_KEY值的单独的资源文件google_maps_api.xml。如您所见,debug和realease版本具有不同的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

答案 1 :(得分:0)

执行此操作

a)打开android studio。构建->生成签名的APK,然后单击下一步

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

enter image description here

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

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

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

e)然后在Google项目中使用此SHA1,将其粘贴到此处并保存更改,现在再次运行该应用以加载地图

  

更新:-

生成debug密钥 做

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

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

c)双击,它将使用signingReport构建,并在您的底视图中发布SHA1。