Ответ 1
gradle build -x lint
может кто-нибудь сказать мне способ избежать выполнения "lint" при каждом запуске в gradle check?
Я определил в build.gradle
lintOptions {
quiet true
}
Однако он продолжает выполнять эту задачу. Проблема в том, что каждый раз мне приходится делать чек. Требуется время.
gradle build -x lint
Вы можете пропустить его, добавив -x lint
при запуске задачи check
:
./gradlew check -x lint
Если вы хотите пропустить его навсегда, вы можете добавить его в свой build.gradle
до apply plugin: 'com.android.application'
:
tasks.whenTaskAdded { task ->
if (task.name.equals("lint")) {
task.enabled = false
}
}
Я просто отключил задачу во время настройки проекта:
android {
lintOptions {
tasks.lint.enabled = false
}
}
Примечание: нет необходимости помещать оператор внутри android.lintOptions
, но, поскольку он настраивает lint, было бы неплохо собрать их вместе.
Установите checkReleaseBuilds
в false
, чтобы отключить проверку строки во время сборки релиза. Добавьте следующие скрипты в файл build.gradle:
lintOptions {
/**
* Set whether lint should check for fatal errors during release builds. Default is true.
* If issues with severity "fatal" are found, the release build is aborted.
*/
checkReleaseBuilds false
}
(Gradle 1.1.0, в комплекте с Android Studio 1.1.0)
Для тех, кто задается вопросом, как это сделать с несколькими подпроектами, мне пришлось отключить их с помощью файла build.gradle с корневым проектом следующим образом:
task lintCheck() {
getAllTasks(true).each {
def lintTasks = it.value.findAll { it.name.contains("lint") }
lintTasks.each {
it.enabled = false
}
}
}
Если у вас разные варианты сборки, возможно, более надежное решение script будет
afterEvaluate {
Set<Task> result = tasks.findAll { task -> task.name.startsWith('lintVital') }
result.each { Task task ->
task.enabled = false
}
}
Добавьте следующие строки кода в build.gradle (приложение).
android {
lintOptions {
checkReleaseBuilds false
//If you want to continue even if errors found use following line
abortOnError false
}
}
используйте этот код, чтобы отключить все задачи lint, используя новый API избегания конфигурации Gradle:
tasks.withType(com.android.build.gradle.tasks.LintBaseTask).configureEach {
enabled = false
}
(протестировано на плагине Android Gradle 3.3.2.)
Если вы все еще хотите, чтобы задача lint работала, вы также можете:
project.tasks.check.dependsOn.remove("lint")
Изменить build.gradle
как
lintOptions {
abortonError false
}