如何添加-Xlint:取消选中我的基于Android Gradle的项目?

我试图将以下内容添加到根build.gradle文件中:

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

但是我得到这个:

 FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':Libraries:ActionBarSherlock:compileRelease'. > invalid flag: -Xlint:unchecked -Xlint:deprecation 

我究竟做错了什么?

这对我来说是有效的:

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

根据JavaCompile ,以下似乎是解决scheme:

 compileJava { options.encoding = 'UTF-8' options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation" } 

如果你想要testing用例,使用compileTestJava

 compileTestJava { options.encoding = 'UTF-8' options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation" } 

我有一个不同的编译参数来设置。 以下为我工作。

 gradle.projectsEvaluated { tasks.withType(JavaCompile) { options.compilerArgs << "-XDignore.symbol.file" options.bootClasspath = "$System.env.JAVA_HOME/jre/lib/rt.jar" } } 

您必须为JDK 1.8及更高版本设置类似Unsafe和sun.swing。*类的启动类path。 修复源代码,特别是后者,因为JRE Java 9,即将到来的JRE模块化实现,将最终使这些方法无法访问(!)。 考虑你自己的警告。