Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Difference between running lint via Android Studio menu and gradlew command-line

When I run the following on a command line:

./gradlew -lint 

I get different results than if I choose the following menu option within Android Studio.

Analyze->Inspect Code... 

Can anyone explain this? Is this normal? Should a prudent developer run both in order to find all potential problems with his/her project?

like image 570
gonzobrains Avatar asked Jul 22 '14 20:07

gonzobrains


People also ask

What does Gradlew lint do?

The lint tool checks your Android project source files for potential bugs and optimization improvements for correctness, security, performance, usability, accessibility, and internationalization.

What is Gradlew Android Studio?

You can execute all the build tasks available to your Android project using the Gradle wrapper command line tool. It's available as a batch file for Windows ( gradlew. bat ) and a shell script for Linux and Mac ( gradlew.sh ), and it's accessible from the root of each project you create with Android Studio.

What is lint UI?

Lint, or a linter, is a static code analysis tool used to flag programming errors, bugs, stylistic errors and suspicious constructs. The term originates from a Unix utility that examined C language source code.


2 Answers

You are running two different tools. The command:

$ ./gradlew lint 

runs the lint tool that comes with the Android SDK and the menu option

Analyze->Inspect Code... 

in Android Studio is a feature inherited from JetBrains IntelliJ IDEA which runs:

<android studio path>/bin/inspect.sh 
like image 194
Robert Avatar answered Oct 10 '22 22:10

Robert


In Android Studio you can customize what inspections are run via Preferences > Inspections; you may have some Lint inspections disabled, and not all run by default. Android Studio can also run a great number of non-Lint inspections.

like image 24
Scott Barta Avatar answered Oct 10 '22 23:10

Scott Barta