应用程序在模拟器上运行正常但在设备上提供NoClassDefFoundError

时间:2012-11-09 13:14:50

标签: android android-emulator noclassdeffounderror

我开发了一个应用程序,它在模拟器上按预期运行,但在我的设备中运行它时出错(HTC one X)。下面是logcat中显示的错误。有一种方法可以创建通知。调用此方法createNotification()时出现错误。 Logcat在下面:

11-09 13:40:13.350: E/AndroidRuntime(5294): FATAL EXCEPTION: main
11-09 13:40:13.350: E/AndroidRuntime(5294): java.lang.NoClassDefFoundError: android.app.TaskStackBuilder
11-09 13:40:13.350: E/AndroidRuntime(5294):     at com.example.accessibility.Accessibility.createNotification(Accessibility.java:205)
11-09 13:40:13.350: E/AndroidRuntime(5294):     at com.example.accessibility.Accessibility$1.onClick(Accessibility.java:69)
11-09 13:40:13.350: E/AndroidRuntime(5294):     at android.view.View.performClick(View.java:3538)
11-09 13:40:13.350: E/AndroidRuntime(5294):     at android.view.View$PerformClick.run(View.java:14319)
11-09 13:40:13.350: E/AndroidRuntime(5294):     at android.os.Handler.handleCallback(Handler.java:608)
11-09 13:40:13.350: E/AndroidRuntime(5294):     at android.os.Handler.dispatchMessage(Handler.java:92)
11-09 13:40:13.350: E/AndroidRuntime(5294):     at android.os.Looper.loop(Looper.java:156)
11-09 13:40:13.350: E/AndroidRuntime(5294):     at android.app.ActivityThread.main(ActivityThread.java:5045)
11-09 13:40:13.350: E/AndroidRuntime(5294):     at java.lang.reflect.Method.invokeNative(Native Method)
11-09 13:40:13.350: E/AndroidRuntime(5294):     at java.lang.reflect.Method.invoke(Method.java:511)
11-09 13:40:13.350: E/AndroidRuntime(5294):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
11-09 13:40:13.350: E/AndroidRuntime(5294):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
11-09 13:40:13.350: E/AndroidRuntime(5294):     at dalvik.system.NativeStart.main(Native Method)

如果有人可以帮我修复此错误,我将不胜感激。

3 个答案:

答案 0 :(得分:6)

TaskStackBuilder从API级别16开始可用(Android 4.1,也称为Jellybean)。您的HTC One X上安装了Android 4.0。

答案 1 :(得分:0)

你最近更新了你的eclipse安卓插件(adt r17)吗?然后,以下链接可能有所帮助:

How to fix the classdefnotfounderror with adt-17

如果没有,则发布一些代码。

答案 2 :(得分:0)

如@David Wasser提到的TaskStackBuilder在API Level 16(Android 4.1)中添加

您可以通过添加导入inSingletonScope代替android.support.v4.app.TaskStackBuilder;

来解决您的问题

确保您的应用添加了v4 / v7支持库