Google地图v2未显示

时间:2012-12-05 16:07:26

标签: android google-maps-android-api-2

我一直在尝试运行新 Google maps V2 API

的示例项目

显示空白屏幕enter image description here

问题是为什么在2.2设备上显示地图,在堆栈跟踪上我看到以下消息:

  12-06 09:40:36.039: W/dalvikvm(14657): Unable to resolve superclass of Lmaps/a/du; (411)
  12-06 09:40:36.039: W/dalvikvm(14657): Link of class 'Lmaps/a/du;' failed
  12-06 09:40:36.039: W/dalvikvm(14657): Unable to resolve superclass of Lmaps/a/ej; (2363)
  12-06 09:40:36.039: W/dalvikvm(14657): Link of class 'Lmaps/a/ej;' failed
  12-06 09:40:36.039: W/dalvikvm(14657): Unable to resolve superclass of Lmaps/j/k; (2379)
  12-06 09:40:36.039: W/dalvikvm(14657): Link of class 'Lmaps/j/k;' failed
  12-06 09:40:36.039: E/dalvikvm(14657): Could not find class 'maps.j.k', referenced from method maps.y.ae.a
  12-06 09:40:36.039: W/dalvikvm(14657): VFY: unable to resolve new-instance 3571 (Lmaps/j/k;) in Lmaps/y/ae;
  12-06 09:40:36.039: D/dalvikvm(14657): VFY: replacing opcode 0x22 at 0x007d
  12-06 09:40:36.125: D/dalvikvm(14657): VFY: dead code 0x007f-008f in Lmaps/y/ae;.a (Landroid/view/LayoutInflater;Lcom/google/android/gms/maps/GoogleMapOptions;Z)Lmaps/y/ae;
  12-06 09:40:36.192: I/dalvikvm(14657): Could not find method java.io.IOException.<init>, referenced from method maps.bg.e.a
  12-06 09:40:36.195: W/dalvikvm(14657): VFY: unable to resolve direct method 14965: Ljava/io/IOException;.<init> (Ljava/lang/String;Ljava/lang/Throwable;)V
  12-06 09:40:36.195: D/dalvikvm(14657): VFY: replacing opcode 0x70 at 0x0087
  12-06 09:40:36.195: D/dalvikvm(14657): VFY: dead code 0x008a-008c in Lmaps/bg/e;.a ([B)Ljava/util/Hashtable;
  12-06 09:40:36.555: D/dalvikvm(14657): GC_FOR_MALLOC freed 4020 objects / 327288 bytes in 61ms
  12-06 09:40:36.707: E/Google Maps Android API(14657): Google Maps application is missing.

编辑好吧,好像我们还无法在模拟器上运行它。

6 个答案:

答案 0 :(得分:7)

logcat看到以下消息:

12-06 09:40:36.707: E/Google Maps Android API(14657): Google Maps application is missing.

所以安装 Google Maps 已经解决了问题。

此外,似乎某些国家/地区的Google地图安装已阻止,如果没有安装Google地图,在2.2上运行应用程序将无法正常运行。

在评论中,用户发布了一个代码,用于检查是否在以下问题中安装了Google地图:

Google Maps Android API V2 check if GoogleMaps are installed on device

答案 1 :(得分:3)

我还没有对此进行测试,但我假设您需要在设备上使用Google Play服务,请在您的设备上查看以下内容:

play services app

如果缺少这个,我觉得新的GMS不起作用,因为你的模拟器没有谷歌地图或谷歌播放服务,这将阻止它工作,因为它找不到包。

从它的外观来看,GMS在真实设备上无声地失败,而不是像模拟器那样崩溃。

在您的设备上手动安装Google Play Services,然后重试。

答案 2 :(得分:1)

我遇到过类似的问题。安装(以及稍后卸载)谷歌地图后,一切安定下来。

答案 3 :(得分:1)

请确保包含以下呼叫:

GooglePlayServicesUtil.getOpenSourceSoftwareLicenseInfo
在你的应用程序的某个地方(即关于部分)。在我使用它之前我遇到了同样的问题。

(据我所知,这篇文章已经过了一个月,用户可能已经开发了,但其他人可能会像我一样从这些信息中受益)

答案 4 :(得分:1)

我遇到了与android 2.3.7设备相同的问题,并且网上的答案都没有指出我正确的方向。在狂野的头发上,我强制退出游戏服务并重新启动我的应用程序,并开始渲染地图。

答案 5 :(得分:0)

模拟器的一个很好的解决方案是Genymotion!
登录@ http://www.genymotion.com后下载 安装它&amp;虚拟框
在eclipse中搜索“安装新软件”中的http://plugins.genymotion.com/eclipse 用它打开一个模拟器,用“谷歌应用程序”创建一个虚拟设备,在其上安装播放服务,就这一切,当你编译你的应用程序时,你可以选择genymotion模拟设备..
这需要大量的记忆,但效果确实比AVD好; - )