как заставить параметры компилятора Dagger2 работать?

#android #gradle #android-gradle-plugin #dagger-2 #dagger

#Android #gradle #android-gradle-plugin #dagger-2 #dagger

Вопрос:

Я пытаюсь использовать 3 параметра компилятора dagger2 в моем проекте Android. но, похоже, ни один из них на самом деле не работает.

Я вставил код из here в свой gradle.properties и даже параметры компилятора в качестве настроек.

3, которые меня интересуют, это:

 -Adagger.fastInit=enabled
-Adagger.formatGeneratedSource=disabled
-Adagger.gradle.incremental
  

fastinit и codeformatting просто не работают (судя по сгенерированному коду), но инкрементные вызывают ошибку компиляции со словами:

 no compiler option found.
  

версии, которые я использую, следующие:

dagger : 2.18

gradle: 5.2.1

kotlin : 1.3.21

androidPlugin: 3.3.1

Ответ №1:

Для проектов с несколькими модулями верхний build.gradle можно обновить следующим образом

 allprojects {
    repositories {
        ...
    }

    afterEvaluate {
        extensions.findByName('kapt')?.arguments {
            arg( "dagger.formatGeneratedSource", "disabled" )
        }
    }
}
  

Ответ №2:

Возможно, вам следует попробовать без «A»

 dagger.fastInit=enabled
dagger.formatGeneratedSource=disabled
dagger.gradle.incremental=enabled
  

Также можно попробовать непосредственно в build.gradle, но это должно быть сделано для каждого проекта.

 kapt {
    arguments {
        arg('dagger.fastInit', 'enabled')
        arg('dagger.formatGeneratedSource', 'disabled')
        arg('dagger.gradle.incremental', 'enabled')
    }
}
  

Комментарии:

1. Я пробовал без A. почти те же результаты

2. в нашем проекте почти 50 модулей, как вы упомянули, я не могу использовать скрипт gradle в каждой сборке.gradle