Dagger 2 Russian FAQ
Ilya GulyaЧасто задаваемые вопросы о Dagger 2
Почему все статьи про Dagger 2 и другие инструменты внедрения зависимостей идут с картинкой кофе либо кофемашины?
Отсылка к зависимости от кофе :)
Подключил Dagger 2 в проект, создал граф зависимостей, когда пытаюсь скомпилировать - вываливается куча ошибок датабиндинга (или любой другой библиотеки, которая использует Annotation Processing), что делать?
Это происходит потому, что Dagger 2, как и DataBinding (и множество других библиотек, вроде Realm, DBFlow) использует Annotation Processing для генерации кода при сборке приложения.
По умолчанию максимальное количество ошибок, выдаваемых компилятором java ограничено 100 и если вы используете, например, DataBinding, то вывалятся ошибки связанные с ним, а ошибки Dagger могут не влезть в указанный лимит, и вы не сможете узнать истинную причину ошибки.
Чтобы исправить эту проблему и избежать её в дальнейшем, необходимо увеличить лимит количества ошибок компилятора, добавив следующий блок кода в файл build.gradle в корне проекта:
allprojects { gradle.projectsEvaluated { tasks.withType(JavaCompile) { // Здесь 10000 - максимальное количество ошибок options.compilerArgs << "-Xmaxerrs" << "10000" } } }