web-dev-qa-db-ja.com

Androidエラー-原因:Java.lang.NoClassDefFoundError:Android.support.v4.util.SparseArrayCompat

アプリを起動すると、次のログエラーが発生します。

> 05-20 01:48:35.312: E/AndroidRuntime(23032): FATAL EXCEPTION: main
05-20 01:48:35.312: E/AndroidRuntime(23032): Java.lang.RuntimeException: Unable to start activity ComponentInfo{com.tomsyweb.suna/com.tomsyweb.suna.MainActivity}: Android.view.InflateException: Binary XML file line #9: Error inflating class com.origamilabs.library.views.StaggeredGridView
05-20 01:48:35.312: E/AndroidRuntime(23032):    at Android.app.ActivityThread.performLaunchActivity(ActivityThread.Java:1651)
05-20 01:48:35.312: E/AndroidRuntime(23032):    at Android.app.ActivityThread.handleLaunchActivity(ActivityThread.Java:1667)
05-20 01:48:35.312: E/AndroidRuntime(23032):    at Android.app.ActivityThread.access$1500(ActivityThread.Java:117)
05-20 01:48:35.312: E/AndroidRuntime(23032):    at Android.app.ActivityThread$H.handleMessage(ActivityThread.Java:935)
05-20 01:48:35.312: E/AndroidRuntime(23032):    at Android.os.Handler.dispatchMessage(Handler.Java:99)
05-20 01:48:35.312: E/AndroidRuntime(23032):    at Android.os.Looper.loop(Looper.Java:130)
05-20 01:48:35.312: E/AndroidRuntime(23032):    at Android.app.ActivityThread.main(ActivityThread.Java:3687)
05-20 01:48:35.312: E/AndroidRuntime(23032):    at Java.lang.reflect.Method.invokeNative(Native Method)
05-20 01:48:35.312: E/AndroidRuntime(23032):    at Java.lang.reflect.Method.invoke(Method.Java:507)
05-20 01:48:35.312: E/AndroidRuntime(23032):    at com.Android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.Java:867)
05-20 01:48:35.312: E/AndroidRuntime(23032):    at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:625)
05-20 01:48:35.312: E/AndroidRuntime(23032):    at dalvik.system.NativeStart.main(Native Method)
05-20 01:48:35.312: E/AndroidRuntime(23032): Caused by: Android.view.InflateException: Binary XML file line #9: Error inflating class com.origamilabs.library.views.StaggeredGridView
05-20 01:48:35.312: E/AndroidRuntime(23032):    at Android.view.LayoutInflater.createView(LayoutInflater.Java:518)
05-20 01:48:35.312: E/AndroidRuntime(23032):    at Android.view.LayoutInflater.createViewFromTag(LayoutInflater.Java:570)
05-20 01:48:35.312: E/AndroidRuntime(23032):    at Android.view.LayoutInflater.rInflate(LayoutInflater.Java:623)
05-20 01:48:35.312: E/AndroidRuntime(23032):    at Android.view.LayoutInflater.inflate(LayoutInflater.Java:408)
05-20 01:48:35.312: E/AndroidRuntime(23032):    at Android.view.LayoutInflater.inflate(LayoutInflater.Java:320)
05-20 01:48:35.312: E/AndroidRuntime(23032):    at Android.view.LayoutInflater.inflate(LayoutInflater.Java:276)
05-20 01:48:35.312: E/AndroidRuntime(23032):    at com.actionbarsherlock.internal.ActionBarSherlockCompat.setContentView(ActionBarSherlockCompat.Java:853)
05-20 01:48:35.312: E/AndroidRuntime(23032):    at com.actionbarsherlock.app.SherlockActivity.setContentView(SherlockActivity.Java:229)
05-20 01:48:35.312: E/AndroidRuntime(23032):    at com.tomsyweb.suna.MainActivity.onCreate(MainActivity.Java:72)
05-20 01:48:35.312: E/AndroidRuntime(23032):    at Android.app.Instrumentation.callActivityOnCreate(Instrumentation.Java:1047)
05-20 01:48:35.312: E/AndroidRuntime(23032):    at Android.app.ActivityThread.performLaunchActivity(ActivityThread.Java:1615)
05-20 01:48:35.312: E/AndroidRuntime(23032):    ... 11 more
05-20 01:48:35.312: E/AndroidRuntime(23032): Caused by: Java.lang.reflect.InvocationTargetException
05-20 01:48:35.312: E/AndroidRuntime(23032):    at Java.lang.reflect.Constructor.constructNative(Native Method)
05-20 01:48:35.312: E/AndroidRuntime(23032):    at Java.lang.reflect.Constructor.newInstance(Constructor.Java:415)
05-20 01:48:35.312: E/AndroidRuntime(23032):    at Android.view.LayoutInflater.createView(LayoutInflater.Java:505)
05-20 01:48:35.312: E/AndroidRuntime(23032):    ... 21 more
05-20 01:48:35.312: E/AndroidRuntime(23032): Caused by: Java.lang.NoClassDefFoundError: Android.support.v4.util.SparseArrayCompat
05-20 01:48:35.312: E/AndroidRuntime(23032):    at com.origamilabs.library.views.StaggeredGridView.<init>(StaggeredGridView.Java:297)
05-20 01:48:35.312: E/AndroidRuntime(23032):    at com.origamilabs.library.views.StaggeredGridView.<init>(StaggeredGridView.Java:304)
05-20 01:48:35.312: E/AndroidRuntime(23032):    ... 24 more

そして、問題はAndroid SDK Tools Rev. 22、Android SDK Build-toolsをインストールしてGoogle Play開発者サービスを更新した直後です。

一方、このエラーでは

原因:Java.lang.NoClassDefFoundError:Android.support.v4.util.SparseArrayCompat

すべての「Android.support.v4」インポートについて、Javadocにアクセスできないことに注意してください

注:この要素にはソースもJavadocも添付されていないため、Javadocは見つかりませんでした。

問題はおそらくAndroidサポートライブラリが原因です。

このすべての情報が解決策を見つけるのに役立つことを願っています。

12
tsil

プロジェクト->ビルドパス->ビルドパスの構成->注文とエクスポートタブを右クリックします。

「Android Private Libraries」がエクスポート用にチェックされていることを確認してください。

Libs /フォルダーからライブラリーを追加した場合は、それらを「Android Private Libraries」セクションに自動的に追加されるので削除してください。

39
Vinay S Shenoy

私はいつもこれを取得し、Eclipseを再起動してMACラップトップで解決します。

1
j2emanue

コンパイルバージョンが最低限必要なSDKバージョンと同じではありませんが、Androidはappcompatを作成します。作成されたappcompatはそれ自体のsupport-v4を参照する場合があり、互換性のあるsupport-v4を使用している場合でも、support-v7バージョンは使用したsupport-v4と異なる場合があります。最小限必要なSDKバージョンをコンパイルバージョンと同じにするために、この問題を解決しました。みんなを助けたいです。

1
xiangfei

ソリューション:

  • リストアイテム
  • 輸出注文の確認
  • マルチDexを有効にする
  • レイアウトのビューのAPIレベルを確認します。 searchViewでも同じ問題に直面しました。 searchviewを追加するときにAPIレベルを確認しましたが、クラスファイルにSearchView.OnQueryTextListenerの実装を追加しました。
  • サポートライブラリv4、v7などを確認してください

プロジェクトを右クリック-プロパティ-Javaビルドパス-注文とエクスポート-ティックAndroidプライベートライブラリと追加したすべてのライブラリ

0
Chris Sim

あなたは公式のAndroidドキュメントからチェックしたいかもしれません。

アプリを最小SDK(15)で実行すると、以下のエラーが発生しました:

Fatal Exception: Java.lang.NoSuchMethodError: Android.util.LongSparseArray.removeAt

実際のAndroidドキュメントはこちら: https://developer.Android.com/reference/Android/util/LongSparseArray (残念ながらAPIレベル16でのみ追加されました)を読んだ後

サードパーティのライブラリを使用している場合(私の場合、Chuckを使用しています)、あなたはそれらについて質問したいと思うかもしれません最小レベルのSDK APIをサポートします。それ以外の場合は、最小限のSDKを増やして、APIライブラリが持っていた最小限のAPIに一致させるか、これを実行します(非推奨、アプリがクラッシュします)

// AndroidManifest
<manifest 
  <uses-sdk tools:overrideLibrary="com.readystatesoftware.chuck, your.another.package.here" />

  <application>
  // ommited...
  </application>
</manifest
0
mochadwi