Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Failure on build with Gradle on command line with an android studio project : Xlint error

When I try to build an android project with gradle with this command :

> gradlew clean build assembleRelease

It gives me this error :

Note: Some input files use or override a deprecated API.  
Note: Recompile with -Xlint:deprecation for details.  
Note: Some input files use unchecked or unsafe operations.  
Note: Recompile with -Xlint:unchecked for details.

I can build this project and make the APK in Studio.

Is there a way to configure Gradle to make a compilation ignoring Xlint notifications ?

OR, can I use other parameters, to make the release from command-line with gradle/gradlew ?

like image 689
am_technix Avatar asked Sep 03 '13 15:09

am_technix


2 Answers

It's a nice warning, not an error. To see the complete lint report you can add these lines to build.gradle:

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

If you really want to get rid of those warnings:

  1. Don't use deprecated API
  2. Use @SuppressWarnings("deprecation")
like image 106
shakalaca Avatar answered Nov 17 '22 14:11

shakalaca


This is fairly obvious from @shakalaca's answer, but if you have code old enough to get the deprecation warning, you may also have code old enough to use unchecked operations, e.g. a List without the parameterized type as in List<String>. This will get you an additional warning:

Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

You can just expand the compiler args block to include that as well:

allprojects {
    tasks.withType(JavaCompile) {
        options.compilerArgs << "-Xlint:deprecation" << "-Xlint:unchecked"
    }
}
like image 33
Spanky Quigman Avatar answered Nov 17 '22 14:11

Spanky Quigman