Lint not failing builds

Some time ago, I tried to add lint to my Android studio project by adding the lint.xml file to the application module and adding the following lintOptions:

lintOptions { abortOnError true checkReleaseBuilds true lintConfig file("lint.xml") } 

Everything worked fine, debug builds failed when lint errors occurred and went differently. I did not include the changes in the project, although I recently returned to these changes to find that the assemblies no longer suffer lint errors. It seems that I can’t find the changes made to the project during this time that caused this. Release builds still fail with lint errors as expected.

from what I can assemble, the lint task should run by default, but I do not see it as part of the tasks that are performed when creating

additional information that may help:

  • I am using gradle wrapper with distributionUrl = https://services.gradle.org/distributions/ gradle -2.10-all.zip
  • I build through android studio Build -> Rebuild Project and
    not green play button (I know this will not work lint)
  • lint.xml:

 <?xml version="1.0" encoding="UTF-8"?> <lint> <!--The given layout_param is not defined for the given layout, meaning it has no effect.--> <issue id="ObsoleteLayoutParam" severity="error" /> <!--A layout that has no children or no background can often be removed--> <issue id="UselessLeaf" severity="error" /> <issue id="HardcodedText" severity="error" /> <issue id="UnusedResources" severity="error" /> <!--AdapterViews such as ListViews must be configured with data from Java code, such as a ListAdapter.--> <issue id="AdapterViewChildren" severity="error" /> <!--Missing commit() on SharedPreference editor--> <issue id="CommitPrefEdits" severity="error" /> <!--looks for cases where you have cut & pasted calls to findViewById but have forgotten to update the R.id field--> <issue id="CutPasteId" severity="error" /> <!--Calling String#toLowerCase() or #toUpperCase() without specifying an explicit locale is a common source of bugs.--> <issue id="DefaultLocale" severity="error" /> <!--Implied locale in date format--> <issue id="SimpleDateFormat" severity="error" /> <!--Incorrect order of elements in manifest--> <issue id="ManifestOrder" severity="error" /> <!--Using STRING instead of TEXT--> <issue id="SQLiteString" severity="error" /> <!--Memory allocations within drawing code--> <issue id="DrawAllocation" severity="error" /> <!--Handler is declared as an inner class, it may prevent the outer class from being garbage collected.--> <issue id="HandlerLeak" severity="error" /> <!--Ellipsis string can be replaced with ellipsis character--> <issue id="TypographyEllipsis" severity="error" /> <!--ScrollViews can have only one child--> <issue id="ScrollViewCount" severity="error" /> <!--FragmentTransaction, you typically need to commit it as well--> <issue id="CommitTransaction" severity="error" /> <!--A scrolling widget such as a ScrollView should not contain any nested scrolling widgets since this has various usability issues--> <issue id="NestedScrolling" severity="error" /> <!--ScrollView children must set their layout_width or layout_height attributes to wrap_content--> <issue id="ScrollViewSize" severity="error" /> <!--Using Wrong AppCompat Method--> <issue id="AppCompatMethod" severity="error" /> <!--Some methods have no side effects, an calling them without doing something without the result is suspicious.--> <issue id="CheckResult" severity="error" /> <!--Duplicate ids across layouts combined with include tags--> <issue id="DuplicateIncludedIds" severity="error" /> <!--This check ensures that a layout resource which is defined in multiple resource folders, specifies the same set of widgets.--> <issue id="InconsistentLayout" severity="error" /> <!--Wrong locale name--> <issue id="LocaleFolder" severity="error" /> <!--Target SDK attribute is not targeting latest version--> <issue id="OldTargetApi" severity="error" /> <!--Frequent alarms are bad for battery life.--> <issue id="ShortAlarm" severity="error" /> <!--Using system app permission--> <issue id="ProtectedPermissions" severity="ignore" /> <!--Package not included in Android--> <issue id="InvalidPackage" severity="ignore" /> </lint> 
+6
source share
1 answer

Found a solution to Run lint when creating Android studio projects . basically you do the build task depending on the lint task to make it run:

 applicationVariants.all { variant -> variant.outputs.each { output -> def lintTask = tasks["lint${variant.name.capitalize()}"] output.assemble.dependsOn lintTask } 

}

For library projects -

 libraryVariants.all { variant -> variant.outputs.each { output -> def lintTask = tasks["lint${variant.name.capitalize()}"] tasks["bundle${variant.name.capitalize()}"].dependsOn lintTask } } 
+3
source

All Articles