我下载了匕首,因为它似乎是Android中依赖注入的一个很好的选择。但是我在整合编译器时遇到了一些麻烦。是否有关于正确设置的提示?我按照关于android注释的说明进行操作,因为这个项目看起来很相似。但它对匕首不起作用。
我做了什么: 我将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的模块适配器。请确保为此模块运行代码生成。
所以在我看来代码生成并没有发生。另外,我项目中的“生成”文件夹是空的。那么在IntelliJ中使用dagger在Android项目中工作的正确设置是什么?
答案 0 :(得分:5)
找不到匕首编译器依赖项。
Dagger,JavaWriter和javax.inject也是必需的 (对于1.2+番石榴也是必需的 - guava discussion)
尝试将这些.jars放在与dagger-compiler相同的文件夹中,然后将 all 4 添加为注释处理器。这适用于Eclipse,也适用于IntelliJ。
或者将所有这些依赖项组合成1个“胖”jar。有关详细信息,请参阅issue 360。
可以从Maven下载文件: