1

最近 google 发布了app compat support library,它支持 ActionBar 兼容到 android 2.1

我已经成功地将它集成到我的应用程序中,并用这个替换了 ActionBarSherlock,我可以在我的大部分活动中看到 android 2.3.6 上的操作栏。

但现在我在 Android 2.3.6 上的一些活动面临奇怪的 java.lang.NoClassDefFoundError 错误,相同的 apk 在 Android 4.2.2 上工作正常

不知道是什么导致了这个问题?我尝试使用 ant 构建脚本并通过我的 IDE(Intellij Idea)制作 apk,但问题仍然存在。

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)

以下是我的导入语句

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

1 回答 1

1

最后这个问题得到了解决,问题是我的活动中的SearchView,因为我正在针对 4.2.2 进行编译,我没有遇到任何编译问题。

虽然在运行时 SearchView 在 android 2.3.6 中不可用,这导致整个活动的 noClassDef 错误,但我在我的活动中添加了以下导入语句来解决此问题:-

import android.support.v7.widget.SearchView;
于 2013-09-13T11:52:34.450 回答