私はアプリケーションモジュール(私のアプリケーション)とJavaライブラリプロジェクトモジュール(api)を持っています。私はapiモジュールでdagger 2を使用したいと思います。注釈プロセッサが機能していない場合、Daggerプレフィックス付きクラス(例:DaggerApiComponent)は期待通りに生成されていません。どんな助けでも大いに感謝され、はい、私はgradleを使用しています。ダガー2をAndroidスタジオのJavaライブラリプロジェクトで使用するにはどうすればいいですか?
2
A
答えて
8
最後に私はこれを修正することができました。これは、apply plugin: 'com.android.application'
を使用した場合にのみ、gradleのandroid-aptプラグインが利用可能になりました。したがって、com.android.application
プラグインを使用できないJavaライブラリでは、このプラグインを適用した後にプラグインapply plugin: "net.ltgt.apt"
を使用する必要があります。これは、daggerのコンパイラ依存性apt "com.google.dagger:dagger-compiler:2.0.2"
を依存ブロックで使用できます。また、net.ltgt.apt
が正しく動作するためにはapply plugin: "idea"
が必要です。アイデアプラグインを適用しない場合、アノテーションプロセッサはダガーファクトリクラスを生成しますが、IDEのsourceSetには含まれないため、アイデアプラグインの適用を忘れてしまいます。そう最終的には私のビルドスクリプトは、この
buildscript {
repositories {
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath "net.ltgt.gradle:gradle-apt-plugin:0.6"
}
}
apply plugin: 'java'
apply plugin: "net.ltgt.apt"
apply plugin: "idea"
dependencies {
// Dagger 2 and Compiler
compile 'com.google.dagger:dagger:2.0.2'
apt "com.google.dagger:dagger-compiler:2.0.2"
}
+0
ありがとう!この日の無駄な日! – JenniferG
関連する問題
- 1. Androidスタジオ - アプリで使用するライブラリプロジェクトは、app-release.apkに従います。
- 2. ライブラリプロジェクトをAndroidスタジオに追加して使用するにはどうすればよいですか(一部の質問は有効になりません)
- 3. Androidスタジオのエミュレータで使用するSDカードを作成するにはどうすればよいですか?
- 4. Androidプロジェクトで2番目のJavaクラスを使用するにはどうすればよいですか?
- 5. ライブラリプロジェクトでアプリケーションインデックスを実装するにはどうすればよいですか?
- 6. AndroidスタジオでRobotiumを使用してコードカバレッジを取得するにはどうすればよいですか?
- 7. Androidスタジオでretrofit2を使用してjsonログを取得するにはどうすればよいですか?
- 8. Androidスタジオ:AndroidモジュールにJavaモジュールを含めるにはどうすればよいですか?
- 9. Androidスタジオ - カードビューを作成するにはどうすればよいですか?
- 10. Androidスタジオ(gradle)でCMake -Cオプションを使用するにはどうすればよいですか?
- 11. AndroidスタジオでFacebook Buckビルディングツールを使用するにはどうすればよいですか?
- 12. Androidでxmlを使用するにはどうすればいいですか?
- 13. Androidスタジオでパレットを開くにはどうすればよいですか?
- 14. Androidスタジオで新しいAndroidアプリのアイコンを変更するにはどうすればよいですか?
- 15. Google ChromeをAndroidスタジオのリファレンスとして使用するにはどうすればよいですか?
- 16. Androidスタジオ:Androidライブラリプロジェクトをインポートする方法
- 17. 標準ライブラリプロジェクトをSilverlightライブラリプロジェクトに変更するにはどうすればよいですか?
- 18. ボタンを使用してAndroidスタジオのページを切り替えるにはどうすればよいですか?
- 19. Android SQLite - 2つの結合テーブルでstrftimeを使用するにはどうすればいいですか?
- 20. AndroidスタジオにAndroidライブラリをインストールするにはどうすればいいですか?
- 21. セキュリティプロバイダをJavaで使用するにはどうすればよいですか?
- 22. JavaでSwingWorkerを使用するにはどうすればよいですか?
- 23. Javaでラジオボタンを使用するにはどうすればよいですか?
- 24. JavaでStringUtilsを使用するにはどうすればよいですか?
- 25. Javaでスレッドを使用するにはどうすればよいですか?
- 26. JavaでJSONataを使用するにはどうすればよいですか?
- 27. JavaでkeyTypedを使用するにはどうすればよいですか?
- 28. JavaでsetPreferredSizeを使用するにはどうすればよいですか?
- 29. Javaでコマンドラインフォントを使用するにはどうすればよいですか?
- 30. Androidスタジオでタイマーを入れて各質問をランダム化するにはどうすればいいですか?
I'amわからないように見えますが、おそらくこれはあなたの問題である:https://bitbucket.org/hvisser/android-apt/issues/18/support-java-pluginルックス'android-apt'プラグイン(アノテーションに基づいてコードを生成するためにダガーによって使用される)のように、アンドロイドモジュールのためだけに機能します。 – micha
さて、なぜ、ダガー2をJavaライブラリーと呼ぶのかというと、私は答えが苦手なときにそれを見つけ出すことに近づいている。 – Bhargav
** Project **に切り替えるまで、私はこの問題に数時間を費やして解決できなかった。 *生成したクラスが 'release'ビルドタイプの下にあったことを見て、見た。 'release'に切り替えると、ビルドタイプのものが魔法のように動作し始めました。 私はまた、新しいビルドツールから新しい 'annotationProcessor'を使用しています。 –