我得到一个java.lang.NoClassDefFoundError

时间:2011-04-20 23:36:30

标签: android

它与我询问here的程序相同。 我解决了这个问题,但是现在当我启动它时,它会崩溃并获得:

W/dalvikvm(  316): Unable to resolve superclass of Lcom/wingdom/convention/Map; (12)
W/dalvikvm(  316): Link of class 'Lcom/wingdom/convention/Map;' failed
E/dalvikvm(  316): Could not find class 'com.wingdom.convention.Map', referenced from method com.wingdom.convention.TabWidget.onCreate
W/dalvikvm(  316): VFY: unable to resolve const-class 13 (Lcom/wingdom/convention/Map;) in Lcom/wingdom/convention/TabWidget;
D/dalvikvm(  316): VFY: replacing opcode 0x1c at 0x003a
D/dalvikvm(  316): VFY: dead code 0x003c-005e in Lcom/wingdom/convention/TabWidget;.onCreate (Landroid/os/Bundle;)V
D/AndroidRuntime(  316): Shutting down VM
W/dalvikvm(  316): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
E/AndroidRuntime(  316): FATAL EXCEPTION: main
E/AndroidRuntime(  316): java.lang.NoClassDefFoundError: com.wingdom.convention.Map
E/AndroidRuntime(  316):    at com.wingdom.convention.TabWidget.onCreate(TabWidget.java:29)
E/AndroidRuntime(  316):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
E/AndroidRuntime(  316):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
E/AndroidRuntime(  316):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
E/AndroidRuntime(  316):    at android.app.ActivityThread.access$2300(ActivityThread.java:125)
E/AndroidRuntime(  316):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
E/AndroidRuntime(  316):    at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(  316):    at android.os.Looper.loop(Looper.java:123)
E/AndroidRuntime(  316):    at android.app.ActivityThread.main(ActivityThread.java:4627)
E/AndroidRuntime(  316):    at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(  316):    at java.lang.reflect.Method.invoke(Method.java:521)
E/AndroidRuntime(  316):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
E/AndroidRuntime(  316):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
E/AndroidRuntime(  316):    at dalvik.system.NativeStart.main(Native Method)
W/ActivityManager(   59):   Force finishing activity com.wingdom.convention/.TabWidget

该应用程序有3个活动类,TabWidget,Schedule和Map(Map实际上是MapActivity,但它现在是空白,希望应用程序首先运行)。 TabWidget几乎就是android开发者网站上给出的HelloTabWidget学习示例。时间表只是一个文本列表。如果您需要查看任何代码来帮助修复它,请询问。提前谢谢!

2 个答案:

答案 0 :(得分:11)

<uses-library android:name="com.google.android.maps" />

确保将此作为应用程序的子项添加到清单中。这将阻止崩溃。

您还需要将Internet权限添加为清单的子级。

<uses-permission android:name="android.permission.INTERNET" />

答案 1 :(得分:1)

要使用MapActivity,您需要设置包含Google API的虚拟设备。仅设置一个vanilla Android虚拟设备还不够好。

查看here了解更多信息: