Dagger 2 on Android, missing error messages

早过忘川 提交于 2019-12-01 14:11:52

问题


I'm using Dagger 2 in my Android project and I'm having trouble debugging it. I know that the compilation fails because of an error in my dagger 2 setup (had it before) but it's almost impossible to track it down because I don't get a proper error message telling me where the problem lies. All I get are messages that show that the annotation processing failed. Along the lines of:

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
...

Maybe it's somehow related to the fact that I'm also using databinding!?

I'm using Dagger 2.5, Gradle plugin 2.1.2 and android-apt 1.8.

Thanks for your help!


回答1:


Java

javac by default will only show up to 100 errors. You are probably over this limit because of databinding reporting an error for each binding class it generates.

Add this to your apps's build.gradle:

gradle.projectsEvaluated {
    tasks.withType(JavaCompile) {
        options.compilerArgs << "-Xmaxerrs" << "500"
    }
}

Kotlin

You can enable the same javac option when using kapt by adding the following to your build.gradle.

kapt {
    javacOptions {
        option("-Xmaxerrs", 500)
    }
}

This is currently ignored, but will be fixed in Kotlin v1.2.20.



来源:https://stackoverflow.com/questions/37912127/dagger-2-on-android-missing-error-messages

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!