0

我有一个 Google Maps API 密钥,它在我的文件debugrelease google_maps_api.xml文件中。

在模拟器或设备上调试时,其中的应用程序和地图工作。但是,当我生成签名的 APK 并将其安装到真实设备上时,地图是空的,就好像没有指定 Google 地图 API 密钥一样。

我已经尝试使用此处的答案,但似乎不起作用,至少就我在 Google Play、Android Studio 和发布版本方面的经验而言是允许的。

我已经进入了 Google Play Console 和Let Google handle my certificates(或类似的东西)。我现在有一个列表,其中包含MD5 certificate fingerprint SHA-1 certificate fingerprint SHA-256 certificate fingerprint一个标题为[DOWNLOAD CERTIFICATE](应用程序签名证书)的按钮,但不知道如何处理这些......如果我此时应该对它们做任何事情。

接下来我该怎么做才能让地图显示在发布签名的 APK 文件上?我应该在我的项目中的某个地方插入应用程序签名证书吗?

我的意图还不是释放。我只是想测试一个发布版本的性能差异等。

更新 1我遵循了以下内容,现在有了我的证书指纹,但是如果有的话,我应该把它放在哪里?


在此处输入图像描述


4

1 回答 1

1

Holly Molly,我最终发现我的链接dubug google_maps_api.xml包含调试 SHA-1,它传递给 Google Cloud Platform 以将调试构建列入白名单,以使用它将使用的 GoogleMaps api 密钥。

因此,这意味着如果您构建发布版 APK,则 SHA-1 会有所不同。

如何获得 Release SHA-1?你做你的Build->Generate Signed Bundle,并按照步骤。记下 .keystore 文件的保存位置。我用的是台式机。

完成后,请查看我的问题中的屏幕截图。它声明使用keytool -list ...etc查看生成的 APK 的 SHA-1。

显示 SHA-1 后,转到 Google Cloud Platform,进入 API,然后进入 Maps SDK for Android。单击您希望使用 API 的应用程序的编辑图标。您现在应该看到一个列表,标题API restrictions应该是已经包含 SHA-1 的列表,用于您的调试构建。

从终端复制您的 SHA-1(通过运行该keytool -list ...etc命令找到)。将其粘贴为该 Android 应用限制列表中的新“项目”。保存,如果有保存按钮。

从这里开始你应该很好。


或者您可以取消限制您的 API 密钥使用,这是不推荐的。

于 2020-01-16T07:10:19.080 回答