2

メディアプレーヤーアプリにAmazonIAPを実装しています。アマゾンのドキュメントで述べられているように、オブザーバーを登録しました。しかし、私がプロジェクトを実行したとき、それは投げていNoClassDefFoundErrorます。

プロジェクトにコンパイルエラーはなく、クラスは正しいパッケージ名でプロジェクト内にあります。他のフォーラムを検索しましたが、問題を解決できませんでした。

どんな助けでも大歓迎です!!

11-08 21:02:07.399: E/AndroidRuntime(11667): FATAL EXCEPTION: main
11-08 21:02:07.399: E/AndroidRuntime(11667): java.lang.NoClassDefFoundError: com.songs.mysongs.PlaySongObserver
11-08 21:02:07.399: E/AndroidRuntime(11667):    at com.songs.mysongs.PlaySongActivity.onStart(PlaySongActivity.java:111)
11-08 21:02:07.399: E/AndroidRuntime(11667):    at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1133)
11-08 21:02:07.399: E/AndroidRuntime(11667):    at android.app.Activity.performStart(Activity.java:4639)
11-08 21:02:07.399: E/AndroidRuntime(11667):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1972)
11-08 21:02:07.399: E/AndroidRuntime(11667):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2024)
11-08 21:02:07.399: E/AndroidRuntime(11667):    at android.app.ActivityThread.access$600(ActivityThread.java:126)
11-08 21:02:07.399: E/AndroidRuntime(11667):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1159)
11-08 21:02:07.399: E/AndroidRuntime(11667):    at android.os.Handler.dispatchMessage(Handler.java:99)
11-08 21:02:07.399: E/AndroidRuntime(11667):    at android.os.Looper.loop(Looper.java:137)
11-08 21:02:07.399: E/AndroidRuntime(11667):    at android.app.ActivityThread.main(ActivityThread.java:4479)
11-08 21:02:07.399: E/AndroidRuntime(11667):    at java.lang.reflect.Method.invokeNative(Native Method)
11-08 21:02:07.399: E/AndroidRuntime(11667):    at java.lang.reflect.Method.invoke(Method.java:511)
11-08 21:02:07.399: E/AndroidRuntime(11667):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
11-08 21:02:07.399: E/AndroidRuntime(11667):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
11-08 21:02:07.399: E/AndroidRuntime(11667):    at dalvik.system.NativeStart.main(Native Method)
4

4 に答える 4

1

これを試してください。newを使用している場合はSDK、プロジェクトにライブラリを追加する方法がまったく異なります。

  1. プロジェクト内の名前のフォルダを作成libsし、そこにライブラリを配置します。
  2. プロジェクトを右クリック>[ビルドパス]>[外部アーカイブの追加]

これで問題が解決することを願っています。外部ライブラリの追加を使用してライブラリをすでに追加している場合は、前述の手順に従ってください。

于 2012-11-09T05:52:43.630 に答える
0

次の理由によるNoClassDefFoundError

Java仮想マシンまたはClassLoaderインスタンスがクラスの定義をロードしようとした場合(通常のメソッド呼び出しの一部として、または新しい式を使用した新しいインスタンスの作成の一部として)、クラスの定義が見つからなかった場合にスローされます。

あなたの場合、com.songs.mysongs.PlaySongObserverクラスはJVMによって見つかりません。したがって、クラスパスが適切に設定されていないかどうかを確認する必要があります。または、IDE(Eclipseなど)を使用している場合は、実行時にクラスが選択されているかどうかを確認してください。

于 2012-11-09T05:32:21.803 に答える
0

jarを追加した後、エクスポート先を確認してください。

于 2012-11-09T05:38:56.047 に答える
0

私の場合、プロジェクトをクリーンアップすると、購入オブザーバーでNoClassDefFoundErrorが解決されました。.jarライブラリが常に自動的に取得されるとは限らないと思いますか?

于 2013-11-09T03:02:05.660 に答える