baburaoS
baburaoS

Reputation: 93

Application runs fine on emulator but gives NoClassDefFoundError on device

I have developed an app and it runs as expected on the emulator, but gives error while I run it in my device(HTC one X). Below is the error as shown in the logcat. There is a method which creates a notification. Error appears when this method createNotification() is invoked. Logcat is below:

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)

I would appreciate if someone can help me fix this error.

Upvotes: 2

Views: 1591

Answers (2)

King of Masses
King of Masses

Reputation: 18765

As mentioned by @David Wasser TaskStackBuilder was added in API Level 16 (Android 4.1)

You can solve your problem by adding import android.support.v4.app.TaskStackBuilder; instead of import android.app.TaskStackBuilder;

make sure your app having either v4 / v7 support library added

Upvotes: 0

David Wasser
David Wasser

Reputation: 95578

TaskStackBuilder is available starting from API level 16 (Android 4.1 otherwise known as Jellybean). Your HTC One X has Android 4.0 on it.

Upvotes: 6

Related Questions