我下载了 dagger,因为它似乎是 Android 依赖注入(inject)的好选择。但是我在集成编译器时遇到了一些麻烦。是否有任何关于正确设置的提示?我遵循了关于 android 注释的说明,因为这个项目似乎很相似。但它不适用于 Dagger 。
我做了什么: 我将 dagger-1.1.0.jar 和 javax.inject-1.jar 添加到我项目的 lib 文件夹中,并像我一样添加了一个名为“compile-libs”的新文件夹,其中包含“dagger-compiler-1.1.0.jar”不希望此文件打包在 *.apk 中。
我在模块的依赖项中添加了 dagger 和 javax.inject。
现在是棘手的部分:我将编译器添加到注释编译器设置中:
当我运行程序时,出现以下错误: 无法加载类 de.myproject.app.modules.AndroidModule 的模块适配器。请确保已为此模块运行代码生成。
所以在我看来代码生成并没有发生。另外,我项目中的“生成”文件夹是空的。那么让 dagger 在 IntelliJ 的 Android 项目中工作的正确设置是什么?
最佳答案
未找到 dagger-compiler 依赖项。
Dagger ,JavaWriter和 javax.inject 也是必需的。
(对于 1.2+,还需要 Guava - guava discussion)
尝试将这些 .jars 放在与 dagger-compiler 相同的文件夹中,然后添加 所有 4 也作为注释处理器。这适用于 Eclipse,也适用于 IntelliJ。
或者将所有这些依赖项放在一起制作 1 个“胖” jar 。参见 issue 360了解详情。
可以从 Maven 下载文件:
关于android - 如何在 IntelliJ 中配置 Dagger ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20107182/