【发布时间】:2017-04-10 23:52:33
【问题描述】:
我一直试图让 Google 地图工作几个小时,但我得到的只是一个灰屏。根本没有地图。我知道这里有人问过类似的问题,我已经阅读了所有这些问题,没有进一步了解。
几个小时前,我在计算机上运行应用程序时设法使地图正常工作,但在安装 APK 时,它无法正常工作。所以我注意到有不同的 API 密钥用于调试和发布。我决定重新开始,生成新的密钥等等。所以我从 Google 中删除了我现有的密钥,生成了新的 google_maps_api.xml 文件并按照说明进行操作。
但是现在,从我的手机运行应用程序时,我收到以下错误消息:
E/b: Authentication failed on the server.
E/Google Maps Android API: Authorization failure. Please see https://developers.google.com/maps/documentation/android-api/start for how to correctly set up the map.
E/Google Maps Android API: In the Google Developer Console (https://console.developers.google.com)
Ensure that the "Google Maps Android API v2" is enabled.
Ensure that the following Android Key exists:
API Key: (OLD_API_KEY)
Android Application (<cert_fingerprint>;<package_name>): (MY_FINGERPRINT);(PACKAGE_NAME)
那么,首先,如何确保启用“Google Maps Android API v2”?在 Google API 网站上,我只能找到我启用的 Google Maps Android API。我找不到关于 v2 的任何信息。
而且,我如何“确保以下 Android 密钥存在”。我删除了OLD_API_KEY,因为我想从头开始。不知道它现在从哪里来。我显然没有。所以我不能确保它在那里。为什么我不能只使用我生成的新的?为什么它甚至知道我已经删除的旧密钥?
如果我理解正确,我应该生成一个用于调试的 API 密钥并将其添加到我的调试文件夹中的google_maps_api.xml。对于发布,我生成另一个密钥并将其添加到发布文件夹中的google_maps_api.xml。我是否还需要向我的AndroidManifest.xml 添加 API 密钥?目前我在application 标签之间有这个:
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="@string/google_maps_key"/>
@string/google_maps_key 是我的调试密钥。
我的主要问题是,为什么我需要确保一个旧的 api 密钥存在,我已经删除了。如何告诉 Android 我想使用其他的?
【问题讨论】:
标签: android api google-maps android-studio intellij-idea