How do I suppress warnings when compiling an android library with gradle?

前端 未结 1 796
时光取名叫无心
时光取名叫无心 2020-12-08 10:52

In my application I have a library developed by a 3rd party that unfortunately contains quite a few lint and javac warnings. I\'d like to ignore both these types of warnings

相关标签:
1条回答
  • 2020-12-08 11:00

    Lint:

    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

    From the docs, list of all warnings:

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

    Java version:

    $ 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)
    

    Also, warning options:

    $ 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.
    

    Turn all warnings off:

    // 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'
    }
    
    0 讨论(0)
提交回复
热议问题