【发布时间】:2016-05-11 22:24:50
【问题描述】:
当我的应用尝试使用 Google Maps API 时,我在尝试访问 Google Map API 数据时立即收到以下 logcat 错误(向右滚动查看好东西!):
02-02 15:39:35.329 23868-24511/com.somepackage.name E/Google Maps Android API: Authorization failure. Please see https://developers.google.com/maps/documentation/android/start for how to correctly set up the map.
02-02 15:39:35.339 23868-24511/com.somepackage.name E/Google Maps Android API: Ensure that the following correspond to what is in the API Console:
API Key: AI~~~~~~~~~~~~~~~~~~~~~~~~~~ZwmI
Package Name: com.somepackage.name
Certificate Fingerprint: 50:~~~~~~~~~~~~~~~~~~~~:D5
这是带有指纹和 API 密钥的 Google Developers Support Console 的图像(是的,它们确实匹配!)。我还等待 Google 服务器更新(根据 dox 的说法是 5 分钟;我已经等了几个小时)。
这是我项目的主要 AndroidManifest.xml(为简洁而编辑):
<?xml version="1.0" encoding="utf-8"?>
...
<!--
The following two permissions are not required to use
Google Maps Android API v2, but are recommended.
-->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<application
...
<!--The key to use Google's map API -->
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="AIz~~~~~~~~~~~~~~~~~~~~~~~~~~~~wmI"/>
<activity
...
</activity>
...
</application>
我有一个 Google 高级支持帐户,但目前无法联系到他们。有谁知道为什么我会收到此授权失败?
【问题讨论】:
-
你是在手机上加载签名版的apk还是调试版?
-
使用调试版。
-
调试密钥库可以在 ~/.android/debug.keystore 找到,这是您使用的 SHA1 吗?
-
您还需要将API密钥放在
google_maps_api.xml中。 -
与谷歌支持人员交谈后,他认为问题在于我们使用的是免费版本,然后开始使用高级版本而没有更新我们的代码(这需要一个全新的库)。一旦我知道这是否有效,将立即更新。
标签: android api google-maps key authorization