Android上的Dagger 2,缺少错误信息
我在我的Android项目中使用Dagger 2,并且在调试时遇到了麻烦。 我知道编译失败,因为我的匕首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。
谢谢你的帮助!
Java的
默认情况下, javac
将只显示最多100个错误。 你可能超过这个限制,因为数据绑定报告每个绑定类它产生一个错误。
添加到你的应用程序的build.gradle
:
gradle.projectsEvaluated { tasks.withType(JavaCompile) { options.compilerArgs << "-Xmaxerrs" << "500" } }
科特林
在使用kapt
时,可以通过将以下内容添加到build.gradle中来启用相同的javac选项。
kapt { javacOptions { option("-Xmaxerrs", 500) } }
这目前被忽略,但将在Kotlin v1.2.20
。