Search code examples
androidactionbarsherlockandroid-2.3-gingerbreadandroid-actionbar-compat

java.lang.NoClassDefFoundError on Android 2.3.6 With appcompat lib


Recently google has released app compat support library which supports ActionBar compatible upto android 2.1

I have successfully integrated it in my app and replaced ActionBarSherlock with this one, I am able to see action bar on android 2.3.6 in most of my activities.

but now i am facing weird java.lang.NoClassDefFoundError error for some of my activites on Android 2.3.6, Same apk works fine on Android 4.2.2

don't know what is causing this issue? I have tried making apk with ant build script and through my IDE(Intellij Idea), issue persists.

09-11 15:01:53.953: WARN/System.err(29795): java.lang.NoClassDefFoundError: com.abs.myapp.view.SearchPlacesMallsActivity
09-11 15:01:53.953: WARN/System.err(29795): at com.abs.myapp.view.SampleActivity.openPage(SampleActivity.java:302)
09-11 15:01:53.953: WARN/System.err(29795): at com.abs.myapp.view.SampleActivity.access$500(SampleActivity.java:31)
09-11 15:01:53.960: WARN/System.err(29795): at com.abs.myapp.view.SampleActivity$3.onClick(SampleActivity.java:189)
09-11 15:01:53.960: WARN/System.err(29795): at android.view.View.performClick(View.java:2485)
09-11 15:01:53.960: WARN/System.err(29795): at android.view.View$PerformClick.run(View.java:9080)
09-11 15:01:53.960: WARN/System.err(29795): at android.os.Handler.handleCallback(Handler.java:587)
09-11 15:01:53.960: WARN/System.err(29795): at android.os.Handler.dispatchMessage(Handler.java:92)
09-11 15:01:53.960: WARN/System.err(29795): at android.os.Looper.loop(Looper.java:130)
09-11 15:01:53.960: WARN/System.err(29795): at android.app.ActivityThread.main(ActivityThread.java:3687)
09-11 15:01:53.960: WARN/System.err(29795): at java.lang.reflect.Method.invokeNative(Native Method)
09-11 15:01:53.960: WARN/System.err(29795): at java.lang.reflect.Method.invoke(Method.java:507)
09-11 15:01:53.960: WARN/System.err(29795): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
09-11 15:01:53.960: WARN/System.err(29795): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
09-11 15:01:53.960: WARN/System.err(29795): at dalvik.system.NativeStart.main(Native Method)

below is my import statements

package com.abs.myapp.view;

import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.support.v4.view.MenuItemCompat;
import android.text.Html;
import android.text.TextUtils;
import android.util.Log;
import android.util.TypedValue;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.animation.Animation;
import android.view.inputmethod.InputMethodManager;
import android.widget.*;
import android.widget.AdapterView.OnItemClickListener;
import com.abs.myapp.R;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

Solution

  • Finally this problem is resolved, issue was SearchView in my activity, as i was compiling against 4.2.2 i was not getting any compilation issue.

    While at runtime SearchView was not available in android 2.3.6, which was causing noClassDef error for whole activity, i added below import statement in my activity to resolve this issue:-

    import android.support.v7.widget.SearchView;