带有 gradle 构建的 Kotlin 警告

And*_*lli 3 java android gradle kotlin

自从我开始将项目从 java 转换为 kotlin 以来,我一直在 Mac 上遇到构建性能问题。

我在 Android Studio 3.0.1 中使用 gradle

问题是,当我构建/运行/编译源代码时,我从 gradle 控制台收到很多关于代码命名约定的警告,让我向您展示

我认为这会减慢我的构建速度。我还尝试稍微调整一下我的 gradle 配置文件并构建脚本,但什么也没发生

org.gradle.daemon=true
org.gradle.jvmargs=-Xmx3072m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
org.gradle.parallel=true
org.gradle.configureondemand=true
Run Code Online (Sandbox Code Playgroud)

而且在我的 build.gradle 顶部

tasks.whenTaskAdded { task ->
    if (task.name == "lint" || task.name == "lintVitalRelease") {
        task.enabled = false
    }
}
Run Code Online (Sandbox Code Playgroud)

...

lintOptions {
    checkAllWarnings false
    checkReleaseBuilds false
    ignoreWarnings true       // false by default
    quiet true                // false by default
    tasks.lint.enabled = false
}
Run Code Online (Sandbox Code Playgroud)

我将编译器参数设置为-x lint,所以我对这个错误感到惊讶有人有同样的问题吗?

hot*_*key 8

您看到的警告是由 Kotlin 编译器报告的,而不是由 Android Lint 报告的,因此lintOptions不会影响它们。

相反,如果您想抑制警告,您可以配置单个 Kotlin 编译任务来抑制其警告:

compileDebugKotlin {
    kotlinOptions.suppressWarnings = true
}
Run Code Online (Sandbox Code Playgroud)

或者取消所有 Kotlin 编译任务的警告:

tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
    kotlinOptions.suppressWarnings = true
}
Run Code Online (Sandbox Code Playgroud)

但事实上,这些警告不应该以任何明显的方式影响构建性能。