4

Android での依存性注入に適したオプションと思われるため、dagger をダウンロードしました。しかし、コンパイラの統合に問題があります。適切な設定に関するヒントはありますか? このプロジェクトは似ているように見えるので、Androidアノテーションに関する指示に従いました。しかしダガーには効かない。

私がしたこと: プロジェクトの lib フォルダーに dagger-1.1.0.jar と javax.inject-1.jar を追加し、「dagger-compiler-1.1.0.jar」を含む「compile-libs」という新しいフォルダーを追加しました。 "このファイルを *.apk に圧縮したくないためです。

プロジェクトのファイル構造

モジュールの依存関係に dagger と javax.inject を追加しました。

ここでトリッキーな部分: 注釈コンパイラ設定にコンパイラを追加しました:

設定

プログラムを実行すると、次のエラーが表示されます: クラス de.myproject.app.modules.AndroidModule のモジュール アダプターを読み込めませんでした。このモジュールのコード生成が実行されたことを確認してください。

したがって、コード生成は行われなかったようです。さらに、私のプロジェクトの「生成された」フォルダーは空です。では、IntelliJ の Android プロジェクトで短剣を動作させるための正しい設定は何ですか?

4

1 に答える 1

5

ダガー コンパイラの依存関係が見つかりません。

Dagger、JavaWriter、および javax.inject も必要です。
(1.2+ の場合、グアバも必要です -グアバの議論)

これらの .jar を dagger-compiler と同じフォルダーに配置してから、4 つすべてを注釈プロセッサとして追加してみてください。これはEclipseで機能し、IntelliJでも機能するはずです。

または、これらすべての依存関係をまとめて 1 つの「太い」jar を作成します。詳細については、 issue 360​​ を参照してください。

ファイルは Maven からダウンロードできます。

于 2013-11-23T12:01:58.767 に答える