【问题标题】:Unable to view Maps with Debug/Release APK release无法通过 Debug/Release APK 版本查看地图
【发布时间】:2020-10-16 05:18:13
【问题描述】:

启用 USB 调试后,我可以在模拟器和我的设备上查看谷歌地图。但是当我尝试生成调试/发布 apk 并在我的设备上安装 apk 时,我无法查看地图。

我做了以下事情:

a) 在https://console.developers.google.com/ 中生成 API 密钥并将其复制到我的项目的 google_maps_api.xml 中。

b) 我已经使用以下命令生成了必要的 SHA 密钥。

keytool.exe -list -v -alias <myalias> -keystore <my path> -storepass <passwd> -keypass <passwd>

我无法理解的是,如何使用生成的 SHA?

根据Release APK file not showing google maps,我应该在https://console.developers.google.com/ 上将SHA 密钥添加到我的API 密钥中。但是,我看不到添加它的选项。

通过安装apk,然后在模拟器上调试安装的代码,我看到了以下异常:

API Key must not be empty.

我的google_maps_api.xml如下:

<resources>
<string name="google_maps_key" templateMergeStrategy="preserve" translatable="false">Have added my api key here</string>

已在此处添加了我的 api 密钥 --> 这是我添加了已生成的 API ket 的位置。

已将此添加到我的清单文件中:

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

有人可以帮助我了解我应该做什么吗?

【问题讨论】:

  • 这能回答你的问题吗? Android google maps release key?
  • @Vepthy 这个链接developers.google.com/maps/documentation/android-sdk/…(来自您上面附加的参考资料)确实帮助我将API密钥引用到SHA密钥。我对console.developers.google.com 进行了必要的更改。但是,我仍然没有看到带有调试/发布 apk 的地图。其中,在 USB 测试中它工作正常。
  • 你试过调试代码吗?它会给你带来什么错误?
  • @Vepthy 是的,问题是如果我在模拟器上运行代码或尝试从物理设备调试代码(使用设备 USB 调试),我可以查看地图。但是如果我把项目转换成apk然后在物理设备上运行,我就无法查看地图了。
  • @Vepthy 我尝试了一些不同的方法并且能够调试 apk。我在模拟器上安装了 apk,后来调试了应用程序。我发现以下异常:“API Key 不能为空。”我已经更新了上面的 google_maps_api.xml 内容。你能帮我解决这个问题吗?

标签: android google-maps google-play google-play-services


【解决方案1】:

我终于能够解决这个问题,这些是我遵循的步骤 [在 Windows 机器上,在 Mac 上应该更容易]:

a) cd 进入 C:\Program Files\Java\bin [或安装 jdk 的任何位置]。

b) 运行:keytool -list -v -alias -keystore "{keystore ie., .jks file loc}" -storepass {your store password} -keypass {your keypass}

c) 通过运行 keytool cmd,将生成您的 SHA1 文件。

d) 登录https://console.developers.google.com/

e) 在您的项目中会有一个 google_maps_api.xml 文件。在这个文件中有一个注释的 url,类似于:https://console.developers.google.com/flows/enableapi?apiid=maps_android_backend&keyType=CLIENT_SIDE_ANDROID&r={yourSHA1 key}%3B{your project package}。

f) 在上面的链接中,将默认的 SHA1 密钥替换为新生成的密钥,然后在您已经登录到 google 开发者控制台的浏览器上打开该链接。

h) 按照浏览器提示的步骤操作,您应该能够生成 API 密钥。

i) 在此处粘贴生成的 API 密钥:

<string name="google_maps_key" templateMergeStrategy="preserve" translatable="false">API key</string>

这可以在您的 google_maps_api.xml 文件中找到。

j) 现在转到 {您的项目位置}\app\src\release\res\values 并打开 google_maps_api 文件。再次,在第 (i) 点提到的位置替换您的 API 密钥,即代码 sn-p。

k) 最后进入 Android Studio > Your Project > Build > Generate Signed Bundle / APK > {input keystore path and passwords as per point (b)} > select debug/release version > Finish

生成的调试或发布 apk 现在允许您访问谷歌地图。

【讨论】:

    猜你喜欢
    • 2020-12-30
    • 2023-01-11
    • 1970-01-01
    • 2015-06-14
    • 2012-06-03
    • 2013-03-24
    • 1970-01-01
    • 2020-06-27
    • 1970-01-01
    相关资源
    最近更新 更多