support library last android android-gradle

library - ¿Cómo suprimo las advertencias al compilar una biblioteca de Android con gradle?



com.android.support:design 26 (1)

Hilas:

Docs: http://google.github.io/android-gradle-dsl/current/com.android.build.gradle.internal.dsl.LintOptions.html#com.android.build.gradle.internal.dsl.LintOptions:ignoreWarnings

android { lintOptions { abortOnError false // true by default checkAllWarnings false checkReleaseBuilds false ignoreWarnings true // false by default quiet true // false by default } }

Javac:

Docs: https://docs.oracle.com/javase/8/docs/technotes/tools/windows/javac.html

De los documentos, lista de todas las advertencias:

Docs: https://docs.oracle.com/javase/8/docs/technotes/tools/windows/javac.html#BHCJCABJ

Versión de Java :

$ java -version java version "1.8.0_102" Java(TM) SE Runtime Environment (build 1.8.0_102-b14) Java HotSpot(TM) 64-Bit Server VM (build 25.102-b14, mixed mode)

Además, opciones de advertencia:

$ javac -X -Xlint Enable recommended warnings -Xlint:{all,auxiliaryclass,cast,classfile,deprecation,dep-ann,divzero,empty,fallthrough,finally,options,overloads,overrides,path,processing,rawtypes,serial,static,try,unchecked,varargs,-auxiliaryclass,-cast,-classfile,-deprecation,-dep-ann,-divzero,-empty,-fallthrough,-finally,-options,-overloads,-overrides,-path,-processing,-rawtypes,-serial,-static,-try,-unchecked,-varargs,none} Enable or disable specific warnings -Xdoclint Enable recommended checks for problems in javadoc comments -Xdoclint:(all|none|[-]<group>)[/<access>] Enable or disable specific checks for problems in javadoc comments, where <group> is one of accessibility, html, missing, reference, or syntax, and <access> is one of public, protected, package, or private. -Xbootclasspath/p:<path> Prepend to the bootstrap class path -Xbootclasspath/a:<path> Append to the bootstrap class path -Xbootclasspath:<path> Override location of bootstrap class files -Djava.ext.dirs=<dirs> Override location of installed extensions -Djava.endorsed.dirs=<dirs> Override location of endorsed standards path -Xmaxerrs <number> Set the maximum number of errors to print -Xmaxwarns <number> Set the maximum number of warnings to print -Xstdout <filename> Redirect standard output -Xprint Print out a textual representation of specified types -XprintRounds Print information about rounds of annotation processing -XprintProcessorInfo Print information about which annotations a processor is asked to process -Xprefer:{source,newer} Specify which file to read when both a source file and class file are found for an implicitly compiled class -Xpkginfo:{always,legacy,nonempty} Specify handling of package-info files -Xplugin:"name args" Name and optional arguments for a plug-in to be run -Xdiags:{compact,verbose} Select a diagnostic mode These options are non-standard and subject to change without notice.

Desactive todas las advertencias:

// Put this in ''root'' `build.gradle`, in allprojects or subprojects tasks.withType(JavaCompile) { // Try to turn them all off automatically options.compilerArgs << ''-Xlint:none'' options.compilerArgs << ''-nowarn'' // same as ''-Xlint:none'' // Turn them off manually options.compilerArgs << ''-Xlint:-auxiliaryclass'' options.compilerArgs << ''-Xlint:-cast'' options.compilerArgs << ''-Xlint:-classfile'' options.compilerArgs << ''-Xlint:-deprecation'' options.compilerArgs << ''-Xlint:-dep-ann'' options.compilerArgs << ''-Xlint:-divzero'' options.compilerArgs << ''-Xlint:-empty'' options.compilerArgs << ''-Xlint:-fallthrough'' options.compilerArgs << ''-Xlint:-finally'' options.compilerArgs << ''-Xlint:-options'' options.compilerArgs << ''-Xlint:-overloads'' options.compilerArgs << ''-Xlint:-overrides'' options.compilerArgs << ''-Xlint:-path'' options.compilerArgs << ''-Xlint:-processing'' options.compilerArgs << ''-Xlint:-rawtypes'' options.compilerArgs << ''-Xlint:-serial'' options.compilerArgs << ''-Xlint:-static'' options.compilerArgs << ''-Xlint:-try'' options.compilerArgs << ''-Xlint:-unchecked'' options.compilerArgs << ''-Xlint:-varargs'' }

En mi solicitud, tengo una biblioteca desarrollada por un tercero que, desafortunadamente, contiene bastantes advertencias sobre pelusas y javac. Me gustaría ignorar estos dos tipos de advertencias ya que nuestro equipo no puede corregirlas y están contaminando nuestros registros de compilación. He intentado agregar lo siguiente al archivo build.gradle de las bibliotecas:

En el bloque android

lintOptions { ignoreWarnings = true }

También agregué lo siguiente al final del archivo build.gradle:

afterEvaluate { tasks.withType(JavaCompile) { it.options.compilerArgs << "-Xlint:none" << "-nowarn" } }

Desafortunadamente, siempre que se ejecuta ": compileDebugJavaWithJavac", aún se emiten las advertencias de este proyecto. ¿Qué estoy haciendo mal?

EDITAR Aquí está el archivo build.gradle en su totalidad

apply plugin: ''com.android.library'' dependencies { compile fileTree(dir: ''libs'', include: ''*.jar'') } android { compileSdkVersion 21 buildToolsVersion "23.0.2" lintOptions { abortOnError false // true by default checkAllWarnings false checkReleaseBuilds false ignoreWarnings true // false by default quiet true // false by default } sourceSets { main { manifest.srcFile ''AndroidManifest.xml'' java.srcDirs = [''src''] resources.srcDirs = [''src''] aidl.srcDirs = [''src''] renderscript.srcDirs = [''src''] res.srcDirs = [''res''] assets.srcDirs = [''assets''] } // Move the tests to tests/java, tests/res, etc... instrumentTest.setRoot(''tests'') // Move the build types to build-types/<type> // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ... // This moves them out of them default location under src/<type>/... which would // conflict with src/ being used by the main source set. // Adding new build types or product flavors should be accompanied // by a similar customization. debug.setRoot(''build-types/debug'') release.setRoot(''build-types/release'') } } afterEvaluate { tasks.withType(JavaCompile) { it.options.compilerArgs << "-Xlint:none" << "-nowarn" } }

El siguiente es un ejemplo de las advertencias que recibo que quiero eliminar:

advertencia: [sin marcar] llamada sin marcar a isAssignableFrom (Clase) como miembro del tipo de clase sin formato if (type.isAssignableFrom (throwables [i] .getClass ()))