0

次のエラーが発生します。

java.lang.NoClassDefFoundError: com.test.library.R$drawable

これはそれがうまくいかない行です:

int icon = com.test.library.R.drawable.notification_icon;

私がやろうとしていることは次のとおりです。私はGCMプッシュ通知システムを中心に独自のライブラリを作成しました(同じコードを記述せずに複数のアプリでこれを使用できるようにします。GCMの他に他のことも行う必要があるため、ライブラリに配置しました)。

とにかく、ライブラリの.jarファイルを作成し、それをテストアプリにインポートしましたが、このエラーが発生します。StackOverflowでここにあるソリューションを試しましたが、機能していないようです。また、ライブラリを.jarファイルに入れてインポ​​ートできるようにしたいと思っています(長い話なので、このように機能するために必要なことを受け入れてください。ありがとうございます!)。

私は何が間違っているのですか?

編集:
私はここで問題を見つけました。ライブラリの.jarファイルにR.javaファイルを含めるのを忘れました。それが今別のエラーを与えることを除いて:

android.app.RemoteServiceException: Bad notification posted from package
com.test.app: Coulding create icon:
StatusBarIcon(pkg=com.test.app
id=0x7f020002 level=0 visible=true num=0 )
4

3 に答える 3

0

あなたのjarファイルにはドローアブルが含まれていません。

からライブラリ プロジェクトを含めます。

プロジェクト設定 >> Android タブ

下部にある追加ボタンをクリックして、ライブラリ プロジェクトを選択します。

お役に立てれば。

于 2012-10-08T12:00:19.827 に答える
0

このリンクから試してください:

AndroidのClassDefNotFoundエラー

このエラーは、ライブラリの問題から発生します。

于 2012-10-08T12:00:41.603 に答える
-1
java.lang.NoClassDefFoundError: com.test.library.R$drawable

この例外は、Java 仮想マシンまたは ClassLoader インスタンスが (通常のメソッド呼び出しの一部として、または new 式を使用した新しいインスタンスの作成の一部として) クラスの定義をロードしようとしたときに発生し、クラスの定義をロードできませんでした。見つかった。
つまり、jar のクラスパスが適切に設定されていないため、実行時にクラスが見つからないということです。

于 2012-10-08T11:59:09.233 に答える