我正在尝试运行示例代码:Google Maps Android API V2 Sample code
但是我收到错误NoClassDefFound。下面是我的logcat。
任何人都可以帮我解决它。 任何帮助都是高度评价的 感谢
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
答案 0 :(得分:35)
我有同样的问题,并通过执行以下操作得到解决,
在此之后一切都适合我。
答案 1 :(得分:3)
这对我有用。
导入Android-Support-V4.jar和Google_Play_Services_lib.jar后,请转到:
项目属性&gt; Java构建路径&gt;订单和出口。
然后确保选中Android-Support-V4.jar旁边的复选框,并选中Google_Play_Services_lib.jar。
单击“确定”,然后运行。一切都应该好。
答案 2 :(得分:1)
跟进NewUserSOF的回答(我是新手):
我实施了Jairo的答案,Google Maps V2“MainActivity”运行并显示了选项列表。
但现在当我点击其中任何一个时,我的模拟器说我需要更新Google Play服务。当我点击“更新”按钮时,应用程序崩溃了。
来自LogCat:
12-19 16:02:44.902:W / GooglePlayServicesUtil(2431):Google Play服务已过期。需要2012100但发现1015
12-19 16:02:51.136:E / AndroidRuntime(2431):android.content.ActivityNotFoundException:找不到处理Intent的活动{act = android.intent.action.VIEW dat = http://play.google .com / store / apps / details?id = com.google.android.gms flg = 0x80000 pkg = com.android.vending}
有没有办法在模拟器上更新Google Play服务。 (模拟器是Nexus S运行Google API的17)。
答案 3 :(得分:1)
android-support-v4.jar的多个引用
这对我有用。
如果您的项目和goolge play服务库项目都包含android-support-v4.jar,那么它将发生冲突
从任何一个项目中删除android-support-v4.jar。
答案 4 :(得分:0)
听起来你错过了一些重要的事情;)你做了这些步骤吗?
/extras/android/compatibility/v4/android-support-v4.jar
答案 5 :(得分:0)
Google Play服务库项目是否从Sampleproject引用为库项目?
答案 6 :(得分:0)
编辑:Jairo的回答对我有用。 Edit2:它运行但没有显示地图。我有API密钥。刚刚得到它是一个新的。使用的包名称为com.example.mapdemo。 Edit3:刷新的API密钥(它们不会持续很长时间)。仍然没有显示地图。 Edit4:使用错误的密钥库时出错了SHA1。当我搜索它时,搜索没有在.android文件夹中找到它(ubuntu没有搜索隐藏文件夹),而是向我展示了我从下载android源代码获得的密钥库。
我有完全相同的错误。
MainActivity启动,指的是同一个包中的BasicMapActivity。 BasicMapActivity扩展了android-support-v4.jar中的FragmentActivity。
在此页面上:https://developers.google.com/maps/documentation/android/intro 请参阅步骤4:“选择添加外部JAR,包括以下jar文件,然后单击”确定“: /extras/android/compatibility/v4/android-support-v4.jar“
我的路径是jar / support /而不是/ compatibility / - 我没有/ compatibility /文件夹。 也许这是一个线索?
我的android-support-v4.jar的修改日期为2012年11月19日星期一美国东部时间上午09:14:47。让我想知道我是否错过了最新的更新。 SDK Manager已运行并重新运行。
答案 7 :(得分:0)
1)验证调试密钥库eclipse用于签署您的应用程序实际上是您提取SHA1哈希以生成api密钥的那个
转到:
窗口&gt; Android&gt;构建&gt; “默认调试密钥库”并将路径复制到密钥库
运行
keytool -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添加到示例应用程序内的libs文件夹中。在eclipse构建路径中将它作为外部jar链接起来并不适用于我。
答案 8 :(得分:0)
根据您的源设置方式,您可能需要设置要导出的android-support-library(右键单击&gt; properties-&gt; java build path-&gt; order and export) 此外,您需要使用SupportMapFragment而不是MapFragment作为支持库。 确保您还使用getSupportFragmentManager而不是getFragmentManager。
答案 9 :(得分:0)
对我来说问题是没有安装Google地图。我擦了我的平板电脑,忘了重新安装它。