Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android - Compatibility Library v4 Exception (EdgeEffect) java.lang.NoClassDefFoundError: > android.widget.EdgeEffect

I'm using SherlockActionBar as well if that helps.

The line that triggered this exception is: setContentView(R.layout.activity);

The class I'm using extends SherlockFragmentActivity

The application name is com.testapp.androidapp

and the class is: com.testapp.androidapp.SwipeyTabsActivity.

I've tried this app on a few phones, and all work, except on this one device, the Nexus S. While all devices have reported an actual version number for Android (4.0.1, 2.3.3), this is the only device to have a named version (IceCreamSandwich).

The question is, how can I ensure that this error doesn't occur? I don't need the effect (EdgeEffect) if that helps.

These are my imports:

import com.actionbarsherlock.app.ActionBar;
import com.actionbarsherlock.app.SherlockFragmentActivity;


import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.SystemClock;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;

import android.support.v4.view.ViewPager;

import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.Window;

import com.actionbarsherlock.view.Menu;
import com.actionbarsherlock.view.MenuInflater;
import com.actionbarsherlock.view.MenuItem;
import com.actionbarsherlock.view.MenuItem.OnActionExpandListener;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.inputmethod.InputMethodManager;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;

The summary of this exception is:

Caused by: java.lang.NoClassDefFoundError: android.widget.EdgeEffect at android.support.v4.widget.EdgeEffectCompatIcs.newEdgeEffect(EdgeEffectCompatIcs.java:30) at android.support.v4.widget.EdgeEffectCompat$EdgeEffectIcsImpl.newEdgeEffect(EdgeEffectCompat.java:92) at android.support.v4.widget.EdgeEffectCompat.(EdgeEffectCompat.java:133) at android.support.v4.view.ViewPager.initViewPager(ViewPager.java:290)

The full StackTrace:

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.testapp.androidapp/com.testapp.androidapp.SwipeyTabsActivity}: android.view.InflateException: Binary XML file line #22: Error inflating class android.support.v4.view.ViewPager at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1859) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1875) at android.app.ActivityThread.access$600(ActivityThread.java:122) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1062) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:4215) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) at dalvik.system.NativeStart.main(Native Method) Caused by: android.view.InflateException: Binary XML file line #22: Error inflating class android.support.v4.view.ViewPager at android.view.LayoutInflater.createView(LayoutInflater.java:606) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:680) at android.view.LayoutInflater.rInflate(LayoutInflater.java:739) at android.view.LayoutInflater.inflate(LayoutInflater.java:489) at android.view.LayoutInflater.inflate(LayoutInflater.java:396) at android.view.LayoutInflater.inflate(LayoutInflater.java:352) at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:244) at com.actionbarsherlock.internal.ActionBarSherlockNative.setContentView(ActionBarSherlockNative.java:119) at com.actionbarsherlock.app.SherlockFragmentActivity.setContentView(SherlockFragmentActivity.java:251) at com.testapp.androidapp.SwipeyTabsActivity.onCreate(SwipeyTabsActivity.java:112) at android.app.Activity.performCreate(Activity.java:4434) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1823) ... 11 more Caused by: java.lang.reflect.InvocationTargetException at java.lang.reflect.Constructor.constructNative(Native Method) at java.lang.reflect.Constructor.newInstance(Constructor.java:417) at android.view.LayoutInflater.createView(LayoutInflater.java:586) ... 23 more Caused by: java.lang.NoClassDefFoundError: android.widget.EdgeEffect at android.support.v4.widget.EdgeEffectCompatIcs.newEdgeEffect(EdgeEffectCompatIcs.java:30) at android.support.v4.widget.EdgeEffectCompat$EdgeEffectIcsImpl.newEdgeEffect(EdgeEffectCompat.java:92) at android.support.v4.widget.EdgeEffectCompat.(EdgeEffectCompat.java:133) at android.support.v4.view.ViewPager.initViewPager(ViewPager.java:290) at android.support.v4.view.ViewPager.(ViewPager.java:277) ... 26 more android.view.InflateException: Binary XML file line #22: Error inflating class android.support.v4.view.ViewPager at android.view.LayoutInflater.createView(LayoutInflater.java:606) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:680) at android.view.LayoutInflater.rInflate(LayoutInflater.java:739) at android.view.LayoutInflater.inflate(LayoutInflater.java:489) at android.view.LayoutInflater.inflate(LayoutInflater.java:396) at android.view.LayoutInflater.inflate(LayoutInflater.java:352) at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:244) at com.actionbarsherlock.internal.ActionBarSherlockNative.setContentView(ActionBarSherlockNative.java:119) at com.actionbarsherlock.app.SherlockFragmentActivity.setContentView(SherlockFragmentActivity.java:251) at com.testapp.androidapp.SwipeyTabsActivity.onCreate(SwipeyTabsActivity.java:112) at android.app.Activity.performCreate(Activity.java:4434) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1823) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1875) at android.app.ActivityThread.access$600(ActivityThread.java:122) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1062) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:4215) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) at dalvik.system.NativeStart.main(Native Method) Caused by: java.lang.reflect.InvocationTargetException at java.lang.reflect.Constructor.constructNative(Native Method) at java.lang.reflect.Constructor.newInstance(Constructor.java:417) at android.view.LayoutInflater.createView(LayoutInflater.java:586) ... 23 more Caused by: java.lang.NoClassDefFoundError: android.widget.EdgeEffect at android.support.v4.widget.EdgeEffectCompatIcs.newEdgeEffect(EdgeEffectCompatIcs.java:30) at android.support.v4.widget.EdgeEffectCompat$EdgeEffectIcsImpl.newEdgeEffect(EdgeEffectCompat.java:92) at android.support.v4.widget.EdgeEffectCompat.(EdgeEffectCompat.java:133) at android.support.v4.view.ViewPager.initViewPager(ViewPager.java:290) at android.support.v4.view.ViewPager.(ViewPager.java:277) ... 26 more java.lang.reflect.InvocationTargetException at java.lang.reflect.Constructor.constructNative(Native Method) at java.lang.reflect.Constructor.newInstance(Constructor.java:417) at android.view.LayoutInflater.createView(LayoutInflater.java:586) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:680) at android.view.LayoutInflater.rInflate(LayoutInflater.java:739) at android.view.LayoutInflater.inflate(LayoutInflater.java:489) at android.view.LayoutInflater.inflate(LayoutInflater.java:396) at android.view.LayoutInflater.inflate(LayoutInflater.java:352) at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:244) at com.actionbarsherlock.internal.ActionBarSherlockNative.setContentView(ActionBarSherlockNative.java:119) at com.actionbarsherlock.app.SherlockFragmentActivity.setContentView(SherlockFragmentActivity.java:251) at com.testapp.androidapp.SwipeyTabsActivity.onCreate(SwipeyTabsActivity.java:112) at android.app.Activity.performCreate(Activity.java:4434) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1823) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1875) at android.app.ActivityThread.access$600(ActivityThread.java:122) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1062) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:4215) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) at dalvik.system.NativeStart.main(Native Method) Caused by: java.lang.NoClassDefFoundError: android.widget.EdgeEffect at android.support.v4.widget.EdgeEffectCompatIcs.newEdgeEffect(EdgeEffectCompatIcs.java:30) at android.support.v4.widget.EdgeEffectCompat$EdgeEffectIcsImpl.newEdgeEffect(EdgeEffectCompat.java:92) at android.support.v4.widget.EdgeEffectCompat.(EdgeEffectCompat.java:133) at android.support.v4.view.ViewPager.initViewPager(ViewPager.java:290) at android.support.v4.view.ViewPager.(ViewPager.java:277) ... 26 more java.lang.NoClassDefFoundError: android.widget.EdgeEffect at android.support.v4.widget.EdgeEffectCompatIcs.newEdgeEffect(EdgeEffectCompatIcs.java:30) at android.support.v4.widget.EdgeEffectCompat$EdgeEffectIcsImpl.newEdgeEffect(EdgeEffectCompat.java:92) at android.support.v4.widget.EdgeEffectCompat.(EdgeEffectCompat.java:133) at android.support.v4.view.ViewPager.initViewPager(ViewPager.java:290) at android.support.v4.view.ViewPager.(ViewPager.java:277) at java.lang.reflect.Constructor.constructNative(Native Method) at java.lang.reflect.Constructor.newInstance(Constructor.java:417) at android.view.LayoutInflater.createView(LayoutInflater.java:586) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:680) at android.view.LayoutInflater.rInflate(LayoutInflater.java:739) at android.view.LayoutInflater.inflate(LayoutInflater.java:489) at android.view.LayoutInflater.inflate(LayoutInflater.java:396) at android.view.LayoutInflater.inflate(LayoutInflater.java:352) at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:244) at com.actionbarsherlock.internal.ActionBarSherlockNative.setContentView(ActionBarSherlockNative.java:119) at com.actionbarsherlock.app.SherlockFragmentActivity.setContentView(SherlockFragmentActivity.java:251) at com.testapp.androidapp.SwipeyTabsActivity.onCreate(SwipeyTabsActivity.java:112) at android.app.Activity.performCreate(Activity.java:4434) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1823) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1875) at android.app.ActivityThread.access$600(ActivityThread.java:122) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1062) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:4215) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) at dalvik.system.NativeStart.main(Native Method)

like image 438
StackOverflowed Avatar asked Sep 14 '26 05:09

StackOverflowed


1 Answers

If you scroll up in the LogCat to a bit before the exception occurs, you'll see a line that says something like Unable to find the superclass for that class.

There are only three reasons you will ever get this error:

  1. The class genuinely doesn't exist. If you are using code from an official example and getting this, make sure you have the latest build of the library
  2. You have not added the jar to your build path. To fix this, right click on the jar in Eclipse, and do Build Path ► Add to Build Path.
  3. Your jar is not in the /libs folder. This happens when you have added the jar to the build path, but newer versions of ADT need it to be in /libs. Put it there and re-add it to the build path.
like image 131
Raghav Sood Avatar answered Sep 16 '26 18:09

Raghav Sood



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!