【发布时间】:2013-01-24 08:48:23
【问题描述】:
我正在尝试使用 Google Maps Android API v2,并且我已经从我的发布证书创建了 SHA1 密钥。
我已经阅读了来自 here 的 cmets 并做了一切正确的事情,包括在 Google 的说明 here 中未说明的 READ_GSERVICES 的权限
但是我仍然有错误
E/Google Maps Android API(12334):加载地图失败。不能 联系 Google 服务器。
如果我还有什么遗漏的话,无论如何可以启发我吗?
我也加入了这个:
<permission
android:name="com.example.permission.MAPS_RECEIVE"
android:protectionLevel="signature"/>
<uses-permission android:name="com.example.permission.MAPS_RECEIVE"/>
和
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="my_api_key"/>
在我的应用标签中。
更新:刚刚设法消除了该错误,发现我输入了错误的 READ_GSERVICES。
但是,现在我遇到了这个问题:
01-24 16:58:08.628:E/Google Maps Android API(28025):授权 失败。
是什么导致了这个问题?我的 SHA1 是从我的发布证书中获得的,有错吗?
【问题讨论】:
-
我的 git hub 上有一个地图应用程序的工作示例 - 请随意查看清单。 github.com/ChristopherTulip/MapHomeTest
-
啊,谢谢你的帮助!意识到我错误地输入了我的 READ_GSERVICES 权限。现在我遇到了“授权失败”的错误......这是否指的是我的 API 密钥?我从我的签名证书中生成了 SHA1……这是错的吗?
-
使用完全免费的解决方案而不是那种棘手的专有东西怎么样? “libwlocate”不仅用于使用 WLAN 进行位置评估,Android 类还支持 GPS 定位,显示/绘制 OSM/Google/卫星地图。没有密钥、哈希和身份验证令牌的所有内容;-)
-
是的,身份验证失败是由于 API 密钥造成的 - 您是使用测试版本还是应用的已发布版本?在我进行开发时,我不得不从现有代码中重新创建我的项目,并要求谷歌提供一个新的 API 密钥,我将这些值替换为这些值并且它们起作用了。供参考(尽管它不推荐我所做的)developer.android.com/tools/publishing/…
-
@Elmi 感谢您的建议,但我不是为自己做,所以我对使用其他来源有更严格的要求,但无论如何谢谢 =)