【发布时间】:2016-10-21 02:17:36
【问题描述】:
我在我的 Android 项目中使用 Dagger 2,但在调试它时遇到了问题。我知道编译失败是因为我的 dagger 2 设置中的错误(以前有过),但几乎不可能找到它,因为我没有收到正确的错误消息告诉我问题出在哪里。我得到的只是显示注释处理失败的消息。大致如下:
Error:Execution failed for task ':app:compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.
Error:(14, 28) error: cannot find symbol class BR
Error:(17, 40) error: package com.some.package.databinding does not exist
Error:(17, 51) error: cannot find symbol class DaggerSomeComponent
...
也许这与我也在使用数据绑定这一事实有关!?
我正在使用 Dagger 2.5、Gradle 插件 2.1.2 和 android-apt 1.8。
感谢您的帮助!
【问题讨论】:
-
它显然没有看到这个包:
package com.some.package.databinding does not exist,所以它找不到类。这个包中是否存在这个类,是public吗? -
是的,这个包中的类是由数据绑定注释处理器生成的。但它似乎没有到达那里,因为 Dagger 注释处理之前失败(但不知何故没有显示正确的错误)。
-
嗯,您可能想重新访问 dagger2 官方“入门”指南,看看您是否遗漏了实施的任何步骤。
-
只要 Dagger 开心,一切都会好起来的。只是当出现问题时,它并没有告诉我这让我很难找出问题所在
-
@beeezn 我也有同样的问题,你找到解决方案了吗?我从来没有看到任何注释处理器异常,所以我不知道我的 Dagger 设置有什么问题。
标签: android dagger-2 android-databinding annotation-processing kapt