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;
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;