Android Lint基本使用和自定义规则

Android Lint基本使用和自定义规则一.基本使用1.gradle配置2.指定规则3.执行Lint检测i.实时检测ii.手动检测iii.Gradle命令行执行二.自定义规则1.lint_rules(1)引入依赖(2)定义规则i.需要检测的方法名ii.检测指定方法的调用iii.规则配置(3)注册规则(4)生成jar包2.如何使用jar3.lint_aar4.assemble运行时检测三.调试自定义规则1.运行目标项目的gradle命令2.开启lint项目的debug模式四.检测时机一.基本使用1.g
摘要由CSDN通过智能技术生成

一.基本使用

1.gradle配置

使用Lint时,在相应module的build.gradle文件的android配置项中,通过lintOptions来配置相应的属性即可。

android {
    lintOptions {
        // 设置为 true 后,release 构建都会以 Fatal 的设置来运行 Lint。
        // 如果构建时发现了致命(Fatal)的问题,会中止构建(具体由 abortOnError 控制)
        checkReleaseBuilds true
        // 设置为 true,则当 Lint 发现错误时停止 Gradle 构建
        abortOnError false

        // 重新指定 Lint 规则配置文件
        lintConfig file("default-lint.xml")

        // 仅检查指定的问题(根据规则的 id 指定)
        check 'NewApi', 'InlinedApi'
        // 设置为 true 则检查所有的问题,包括默认不检查问题
        checkAllWarnings true
        // 不检查指定的问题(根据规则的 id 指定)
        disable 'TypographyFractions','TypographyQuotes'
        // 检查指定的问题(根据规则的 id 指定)
        enable 'RtlHardcoded','RtlCompat', 'RtlEnabled'

        // 在报告中是否返回对应的 Lint 说明
        explainIssues true
        // 设置为 true 则错误报告中不包括源代码的行号
        noLines true
        // 设置为 true 时 Lint 将不报告分析的进度
        quiet true
        // 设置为 true 则显示一个问题所在的所有地方,而不会截短列表
        showAll true
        // 设置为 true 则只报告错误
        ignoreWarnings true
        // 设置为 true,则当有错误时会显示文件的全路径或绝对路径 (默认情况下为true)
        absolutePaths true

        // 写入报告的路径,默认为构建目录下的 lint-results.html
        htmlOutput file("lint-report.html")
        // 设置为 true 则会生成一个 HTML 格式的报告
        htmlReport true
        // 写入检查报告的文件(不指定默认为 lint-results.xml)
        xmlOutput file("lint-report.xml")
        // 设置为 true 则会生成一个 XML 报告
        xmlReport false
        // 配置写入输出结果的位置,格式可以是文件或 stdout
        textOutput 'stdout'
        // 设置为 true,则生成纯文本报告(默认为 false)
        textReport false

        // 设置为 true,则会把所有警告视为错误处理
        warningsAsErrors true
        // 覆盖 Lint 规则的严重程度,例如:
        severityOverrides ["MissingTranslation": LintOptions.SEVERITY_WARNING]
        // 将指定问题(根据 id 指定)的严重级别(severity)设置为 Fatal
        fatal 'NewApi', 'InlineApi'
        // 将指定问题(根据 id 指定)的严重级别(severity)设置为 Error
        error 'Wakelock', 'TextViewEdits'
        // 将指定问题(根据 id 指定)的严重级别(severity)设置为 Warning
        warning 'ResourceAsColor'
        // 将指定问题(根据 id 指定)的严重级别(severity)设置为 ignore
        ignore 'TypographyQuotes'
    }
}

2.指定规则

lintConfig file("default-lint.xml")
这个属性可以指定规则定义文件,在这个xml文件中,我们可以自己定义规则的应用场景、报警级别、是否启用等。

<?xml version="1.0" encoding="UTF-8"?>
<lint>
    <!-- list of issues to configure -->
    <!-- Ignore the UselessLeaf issue in the specified file -->
    <issue id="ApplySharedPref" severity="ignore"><!--对指定文件,忽略该issue-->
    </issue>
    <issue id="LogUsage" severity="error" />
</lint>

3.执行Lint检测

Lint的检测有三种模式:

i.实时检测

我们在代码中出现某些问题时,Lint会检测出来并提示。
在这里插入图片描述

ii.手动检测

在AndroidStudio中,通过点击菜单栏Analyze-Inspect Code选项,可以定制检测范围,触发Lint进行检测,检测结果会放到底部的Inspection Results栏中。

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值