谷歌地图API V2不工作(Google map API v2 is not working)

2019-07-04 12:40发布

我想在这里运行示例代码提到: 谷歌地图的Android API V2示例代码

但我收到错误NoClassDefFound。 下面是我的logcat。

任何一个可以帮助我解决这个问题。 任何帮助非常感谢appricated

12-04 18:04:18.854: E/AndroidRuntime(1801): java.lang.ExceptionInInitializerError
12-04 18:04:18.854: E/AndroidRuntime(1801):     at java.lang.Class.newInstanceImpl(Native Method)
12-04 18:04:18.854: E/AndroidRuntime(1801):     at java.lang.Class.newInstance(Class.java:1319)
12-04 18:04:18.854: E/AndroidRuntime(1801):     at android.app.Instrumentation.newActivity(Instrumentation.java:1053)
12-04 18:04:18.854: E/AndroidRuntime(1801):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1974)
12-04 18:04:18.854: E/AndroidRuntime(1801):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
12-04 18:04:18.854: E/AndroidRuntime(1801):     at android.app.ActivityThread.access$600(ActivityThread.java:130)
12-04 18:04:18.854: E/AndroidRuntime(1801):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
12-04 18:04:18.854: E/AndroidRuntime(1801):     at android.os.Handler.dispatchMessage(Handler.java:99)
12-04 18:04:18.854: E/AndroidRuntime(1801):     at android.os.Looper.loop(Looper.java:137)
12-04 18:04:18.854: E/AndroidRuntime(1801):     at android.app.ActivityThread.main(ActivityThread.java:4745)
12-04 18:04:18.854: E/AndroidRuntime(1801):     at java.lang.reflect.Method.invokeNative(Native Method)
12-04 18:04:18.854: E/AndroidRuntime(1801):     at java.lang.reflect.Method.invoke(Method.java:511)
12-04 18:04:18.854: E/AndroidRuntime(1801):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
12-04 18:04:18.854: E/AndroidRuntime(1801):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
12-04 18:04:18.854: E/AndroidRuntime(1801):     at dalvik.system.NativeStart.main(Native Method)
12-04 18:04:18.854: E/AndroidRuntime(1801): Caused by: java.lang.NoClassDefFoundError: com.example.mapdemo.BasicMapActivity
12-04 18:04:18.854: E/AndroidRuntime(1801):     at com.example.mapdemo.MainActivity.<clinit>(MainActivity.java:98)
12-04 18:04:18.854: E/AndroidRuntime(1801):     ... 15 more

Answer 1:

我有同样的问题,并得到了由执行以下操作解决,

  • 删除手动添加的Android的支持,v4.jar
  • 右键单击该项目并选择Android的工具 - >添加支持库...

在此之后一切为我工作。



Answer 2:

这为我工作。

一旦你已经导入了Android的支持 - V4.jar和Google_Play_Services_lib.jar,请访问:

项目属性> Java构建路径>订单和出口。

旁边Android的支持 - V4.jar和Google_Play_Services_lib.jar选择然后确保您的复选框。

单击确定,然后再运行。 所有应该很好。



Answer 3:

在NewUserSOF的回答跟进(我是新来这个):

我实现了Jairo的答案,并在谷歌地图V2“MainActivity” RAN和显示选项列表。

但现在当我点击其中任何一个,我说模拟器我需要更新谷歌播放服务。 当我点击“更新”按钮,应用程序崩溃。

从logcat的:

12-19 16:02:44.902:W / GooglePlayServicesUtil(2431):谷歌Play服务过时。 需要2012100但发现1015

12-19 16:02:51.136:E / AndroidRuntime(2431):android.content.ActivityNotFoundException:无活动发现处理意图{行为= android.intent.action.VIEW DAT = HTTP://play.google.com/存储/应用程序/详细信息?ID = com.google.android.gms FLG = 0x80000 PKG = com.android.vending}

有没有一种方法来更新谷歌Play服务的模拟器。 (仿真器是运行谷歌API的17的Nexus S)。



Answer 4:

Android的支持,v4.jar多个参考

这是为我工作。
如果你的项目和GOOLGE播放服务库项目都包含Android的支持,v4.jar那么就会发生冲突。
从任何一个项目中删除Android平台的支持,v4.jar。



Answer 5:

听起来像是你缺少一些重要的东西;)你做这些步骤?

  • 选择项目>属性,选择Java Build Path,并导航到库。
  • 选择添加外部JAR,包括以下JAR文件,并单击OK:

/extras/android/compatibility/v4/android-support-v4.jar

  • 添加您自己的谷歌地图Android的API密钥。


Answer 6:

是谷歌Play服务库项目从您的Sampleproject库项目中引用?



Answer 7:

编辑:海罗的答案为我工作。 EDIT2:它运行,但显示没有地图。 我已经制定了API密钥。 这是一个新的刚拿到它。 二手包名com.example.mapdemo。 EDIT3:装修一新的API密钥(他们不长久)。 仍然显示没有地图。 Edit4:已经从使用错误的密钥库错误SHA1。 当我搜索了,搜索并没有.android文件夹中找到它(Ubuntu的不是搜索隐藏文件夹),而不是向我展示了密钥库我从网上下载Android源代码了。

我有完全相同的错误。

MainActivity开始,是指BasicMapActivity其是在相同的封装。 BasicMapActivity延伸FragmentActivity这是在Android的支持,v4.jar。

本页内容: https://developers.google.com/maps/documentation/android/intro见第4步:“选择添加外部JAR,包括以下JAR文件,并单击确定:/演员/安卓/兼容性/ V4 / Android的支持,v4.jar”

我的路径是,罐子就/的/支,而不是/兼容性/ - 我没有/兼容性/文件夹。 也许这是一个线索?

我的Android支持,v4.jar有星期一2012年11月19日上午09点14分47秒EST的修改日期。 使我不知道如果我错过了最新的更新。 SDK管理器已运行并重新运行。



Answer 8:

1)检查调试密钥库日食使用签署您的应用程序实际上是已提取的SHA1哈希生成API密钥的一个

去:

窗口> Android的>生成>“默认调试密钥库”和路径复制到密钥库

密钥工具-list -v -keystore YOUR_KEYSTORE_PATH -alias androiddebugkey

2)验证是否已在API控制台配置SHA1哈希之后输入你的应用程序包

Android应用:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX; com.yourapp.package

3)我经历了这个错误在我的测试开始,我记得是登录logcat的一个错误。 像“验证错误”或“API密钥错误”类似的东西。 只是要注意在应用程序第一次运行时logcat的检查,你是不是具有与该API的关键问题。 如果出现这种错误,你将不得不杀/重新安装应用程序。 固定API密钥而应用程序仍在运行,并不能完全解决问题。

4)我不得不支撑jar添加到示例应用程序内部的文件夹的库。 链接它在Eclipse构建路径外部罐子并没有为我工作。



Answer 9:

根据您的源是如何设置的,您可能需要设置Android的支持库要出口(右点击 - >属性 - > Java构建路径 - >订单和出口)另外,你需要使用SupportMapFragment而不是MapFragment的支持库。 请确保您还使用getSupportFragmentManager而非getFragmentManager。



Answer 10:

对我来说是谷歌地图没有安装的问题。 我抹去了我的平板电脑,忘了重新安装。



文章来源: Google map API v2 is not working