【发布时间】:2016-03-30 12:43:23
【问题描述】:
不久前,我尝试通过在 app 模块中添加 lint.xml 文件并添加以下 lintOptions 来将 lint 添加到我的 android studio 项目中:
lintOptions {
abortOnError true
checkReleaseBuilds true
lintConfig file("lint.xml")
}
一切正常,调试构建在出现 lint 错误时失败,否则通过。虽然我没有将更改合并到项目中,但我最近返回这些更改以发现构建不再因 lint 错误而失败。我似乎找不到在那段时间在项目中所做的更改导致了这种情况。发布版本仍然如预期的那样因 lint 错误而失败。
据我所知,lint 任务应该默认运行,但我没有将它视为我构建时运行的任务的一部分
可能有帮助的其他信息:
- 我正在使用 gradle 包装器 distributionUrl=https://services.gradle.org/distributions/gradle-2.10-all.zip
- 我正在通过 android studio 的 Build -> Rebuild Project 和
不是绿色的播放按钮(我知道这不会运行 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>
【问题讨论】:
-
您可以在问题中添加 lint.xml 文件吗?可能是您添加了导致所有内容都通过 lint 的规则......