如何在 Android 项目上设置自定义 Java 编译器参数?

How to set custom Java compiler args on an Android project?

我将以下内容放在项目 gradle 文件的末尾:

gradle.projectsEvaluated {
    tasks.withType(JavaCompile) {
        options.compilerArgs += 
            ['-Xep:MissingOverride:ERROR', 
             '-Xep:MissingCasesInEnumSwitch:ERROR',]
    }
}

但是,在我的代码中,如果我删除某处的 @Override 注释或删除 switch 语句,我的 Android 项目仍然会生成。它不应该因错误而失败吗?

我用谷歌搜索了你的问题并找到了这个 post 描述了您的问题,解决方案如下所示:

allprojects { 
    gradle.projectsEvaluated {
        tasks.withType(JavaCompile) {
            options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
        }
    }
}

看起来 gradle 构建对于 android 项目与对于 java 项目不同,您无法访问任务 CompileJava 本身,如我在第一条评论。