5

私は仕事と図書館のプロジェクトを持っています。Dagger は作業プロジェクトで使用され、数日前にライブラリ プロジェクトでも Dagger を使用することにしました。ライブラリ プロジェクトの Eclipse Java コンパイラと注釈処理の設定を構成し、必要な Dagger & JavaWriter JAR を追加し、ライブラリ プロジェクトにモジュールをデカールしました。現在、両方のプロジェクトにエラーはありません。

しかし、Android デバイスでアプリケーションを実行しようとすると、クラッシュします。

java.lang.RuntimeException:
Unable to create application com.iqm.smartapp.AlarmsApplication:
java.lang.IllegalStateException:
Module adapter for class com.iqm.library.IQMLibraryModule could not be loaded.
Please ensure that code generation was run for this module.

これは、ライブラリ プロジェクトで .apt_generated フォルダーが空であるためだと思います。Dagger は、ライブラリ プロジェクトのクラスを生成しません。おそらく、IDE/プロジェクトの構成に誤りがあります。しかし、仕事とライブラリプロジェクトの両方で来た設定を正確に行い、何が間違っている可能性があるのか​​ わかりません。

私の質問: Android ライブラリ プロジェクトで Dagger を使用することは可能ですか? また、コード生成を有効にするのに適切な Eclipse 構成は何ですか?

前もって感謝します。

編集:新しいクリーンなライブラリ プロジェクトを作成し、それを Dagger 用に設定して、古いプロジェクトからすべてのソース ファイルをコピーしました。現時点では、新しいプロジェクトのすべてが期待どおりに機能しています。奇妙なこと!

4

1 に答える 1

0

ライブラリ内で Dagger を使用しても問題はありません。ここでの問題は、必要なバインディング コードが生成されていないことです。

これを Eclipse 内で有効にするには、このリンクを参照してください。

于 2014-01-21T11:35:26.727 に答える