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

ADe*_*Dev 0 java android javac gradle android-gradle-plugin

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

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

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

Nic*_*ico 5

我用谷歌搜索了您的问题,并发现 了描述您的问题的帖子,解决方案如下所示:

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

似乎gradle构建对于android项目与java项目是不同的,并且您无法CompileJava按照我的第一句话中的说明访问任务本身。