解决Dagger2+DataBinding编译错误提示问题

项目中使用了Dragger2+DataBinding这两个基于Annotation的库,这种库依赖于编译期生成代码来使用。但是他们之间会相互影响,一但一个出错了,会导致Annotation编译时中断。这时Java部分编译检查就会爆出大量的错误,错误原因基本都是DataBinding和Dragger编译期生成的中间类无法找到。这时由于默认编译器只会显示100条错误信息,就会导致我们无法定位到真正的错误位置。

那么如何解决这个问题呢,通过对build.gradle配置文件的修改,使其可以显示超过100条错误信息,这时候我们就可以看到代码真正出现问题的地方了。

具体操作如下:
在项目根目录的build.gradle文件中,在allprojects下添加如下代码。这里填写的是5000,也就是说可以最多显示5000条错误信息,这里可以按照真正的需求来修改。(由于项目非常大,我这里最终提示了2000条错误信息)

1
2
3
4
5
afterEvaluate {
tasks.withType(JavaCompile.class) {
options.compilerArgs << "-Xmaxerrs" << "5000"
}
}

这样就可以定位到真正的问题了,如果错误信息庞大,可以对错误信息进行筛选即可。

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×