Due to some maintenance issues, this service has been switched in read-only mode, you can find more information about the why

and how to migrate your plugin documentation in this blogpost

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 14 Next »

Plugin Information

View Android Lint on the plugin site for more information.

Older versions of this plugin may not be safe to use. Please review the following warnings before using an older version:

Parses output from the Android lint tool and displays the results for analysis.
See also: Android Emulator Plugin.


Android Lint is a tool which scans your Android projects and reports on potential bugs, performance, security and translation issues, plus more.

This Jenkins plugin parses XML reports produced by running lint, analyses them and displays the results for each build.
Information shown includes a build summary, trend graphs, display of warnings in context, and dashboard portlets.

This plugin builds on the work of the static analysis core plugin; see the Static Code Analysis Plug-ins page for a fuller list of features.



  • Jenkins 1.409 or newer
  • The Static Analysis Utilities plugin — this will be automatically installed when you install this plugin
  • Android SDK Tools r17 or newer, but at least r21 is recommended

If the Dashboard View plugin is also installed, you will be able to add Lint-specific portlets to your dashboard views.


Job configuration

Enable "Publish Android Lint results" in the "Post-build Actions" of your Jenkins job.

By default, the plugin will parse any files called "lint-results.xml", anywhere in your build's workspace.
This behaviour can be overridden by entering a filename or pattern, relative to the root of your build's workspace.

Producing Lint output

Note that this plugin does not run Lint for you — you must provide Lint results in XML format, either by running lint during a build, or by copying the file(s) from somewhere else.

For best results, run Lint in your Android application's directory, e.g.:
cd app; lint --xml lint-results.xml .

Note: When running Jenkins on a headless system, or under a user ID which doesn't have access to a graphical environment, you may see some errors while running Lint.
To combat this, you can run Java in headless mode, as follows:
os_opts="-Djava.awt.headless=true" lint --xml lint-results.xml .

Changing build outcome based on Lint results

You can mark builds as unstable or failed, if the number of Lint issues found — or introduced in the latest build — exceeds a certain threshold.

e.g. A build can be automatically flagged as unstable or failed if any Lint issues with "Fatal" or "Error" severity are introduced.

To do this, in the job configuration, click "Advanced" in the "Publish Android Lint results" section. Under "Status thresholds" you can change the build to unstable (yellow ball) or failed (red ball). To mark a build as unstable if there are more than 10 Lint issues in total, but fail the build outright if even a single "Fatal"/"Error" issue exists, then enter "10" under "All priorities" in the yellow row, and "0" under "Priority high" in the red row.

i.e. If there are 12 normal-priority Lint issues found, this exceeds the threshold of 10, causing the build to be marked as unstable. Or, if there is a high-priority issue found, that would exceed the threshold of 0, thereby failing the build.

You should use this to be ruthless about fixing Lint issues as they occur, and remember that you can exclude false positives by setting up a lint.xml file in the root of your app project.

Known issues

This plugin doesn't currently work with the Maven job type, as a Maven goal is required in order to trigger Jenkins plugins of this type.
This will be added in the near future, using the "android:lint" goal supported by android-maven-plugin version 3.5.0.

For now, a workaround is to define a downstream freestyle job where you either generate the Lint XML file or if it was already generated in your upstream Maven job, you can copy the XML file into the downstream workspace using the Copy Artifact Plugin. You can then use this plugin as normal to analyse the Lint output.

Version history

Version 2.0.3 (February 12, 2013)

  • Fixed issue where issues with "Informational" severity were being shown as "Warning" (see JENKINS-16645)
  • Fixed issue where some configuration settings weren't being honoured correctly

Version 2.0.2 (December 30, 2012)

  • Fixed issue where the Android icon wasn't always displayed (see JENKINS-16075)

Version 2.0.1 (November 13, 2012)

  • Issues are now classified correctly, according to Lint 'severity' rather than 'priority'
    • Lint issues with severity "Fatal" or "Error" are now shown as high priority, "Warning" has normal priority, "Informational" has low priority
  • Full explanations and context information for all issues are now included, when using SDK Tools r21 or above
  • Explanations for new Lint checks introduced in the future will appear without having to upgrade this plugin
  • Removed support for Maven job types, as this doesn't work

Version 1.0.1 (March 22, 2012)

  • Fixed bug where gathering results would fail for builds running on a slave, with Lint XML generated using SDK Tools r17

Version 1.0 (March 21, 2012)

  • Initial release
  • Thanks to ~drulli for writing analysis-core and providing for code samples from his many other static analysis plugins
  • No labels