我使用sha 1证书为调试密钥库生成了一个Android密钥。我在xml中使用了那个api键我无法得到地图的覆盖。而我得到的只是灰色的瓷砖。
错误:
java.lang.Thread.run (Thread.java: 1019)
IOException processing: 26
. io .IOException: Server returned: 3
android_maps_conflict_avoidance.com.google.googlenav.map.BaseTileRequest.readResponseData(BaseTileRequest.java:115)
android_maps_conflict_avoidance.com.google.googlenav.map.MapService$MapTileRequest.readResponseData(MapService.java:1473)
android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher.processDataRequest(DataRequestDispatcher.java:1117)
android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher.serviceRequests(DataRequestDispatcher.java:994)
android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher$DispatcherServer.run(DataRequestDispatcher.java:1702)
您确定正确生成了SHA1密钥吗?请尝试以下代码:
private void getShaKey() {
try {
PackageInfo info = getPackageManager().getPackageInfo("YOUR.Package.Name",
PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.v(TAG, "KeyHash:" + Base64.encodeToString(md.digest(),
Base64.DEFAULT));
}
} catch (NameNotFoundException e) {
e.printStackTrace();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
}
如果没有帮助,请附上您的java代码,布局xml, logcat输出和manifest文件
如果你非常确定你的SHA1密钥是正确的,那么请确保你打开"谷歌地图Android API v2"服务而不是"谷歌地图API v2"。使用你的SHA1密钥和你的应用程序名称来申请新的Android密钥在你的应用程序中使用
我有一个类似的问题,让他们在我的应用程序中工作。不幸的是,它非常强调API密钥的生成,这是相当直接的……同样的症状会持续下去,即使你的钥匙是正确的……但是,您没有准备好所有其他组件。本教程最终为我工作....我认为我的问题是没有在我的工作空间中正确引用更新的Google Play库。我通过使用Eclipse ADT SDK管理器来删除并重新安装Google Play库项目来解决这个问题。
我正在考虑写我自己的教程,包括来自Eclipse IDE的屏幕截图,这对我来说也是一种新的体验。也许让你的应用程序运行将为这个过程提供一些结构,但是....女士。Smith写了一个非常好的教程,对我很有用,而我一开始并不那么聪明。: -)
Sue Smith在mobile tuts的最新教程+