1

最近、Google はAndroid 2.1 までの ActionBar 互換性をサポートするapp compat サポート ライブラリをリリースしました。

アプリに正常に統合し、ActionBarSherlock をこれに置き換えました。ほとんどのアクティビティで Android 2.3.6 のアクション バーを確認できます。

しかし今、私はAndroid 2.3.6でのいくつかのアクティビティで奇妙なjava.lang.NoClassDefFoundErrorエラーに直面しています。同じapkはAndroid 4.2.2で正常に動作します

この問題の原因がわかりませんか? Ant ビルド スクリプトを使用して apk を作成しようとしましたが、IDE (Intellij Idea) を介して問題が解決しません。

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

最後に、この問題は解決されました。4.2.2 に対してコンパイルしていたため、問題はアクティビティのSearchView でした。コンパイルの問題は発生していませんでした。

実行時に SearchView は Android 2.3.6 では利用できず、アクティビティ全体で noClassDef エラーが発生していましたが、この問題を解決するためにアクティビティの import ステートメントの下に追加しました:-

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