前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用Android Lint检查代码缺陷

使用Android Lint检查代码缺陷

作者头像
张云飞Vir
发布2020-03-16 16:27:31
1.1K0
发布2020-03-16 16:27:31
举报
文章被收录于专栏:写代码和思考写代码和思考

背景

Android Lint 是Android自带的代码检查工具,它能帮助我们识别很多潜在的错误。

Lint 介绍

Android Lint 可以扫描android项目源代码中的潜在错误。它既可以作为命令行工具,也可以与Eclipse(如下所述)和Intellij(详细信息)集成。体系结构是有意独立于IDE的,因此它有望与其他IDE、其他构建工具以及持续集成系统集成。

下面是它查找的错误类型的一些示例:

  • 缺少转换(和未使用的转换)
  • 布局性能问题(旧布局工具用于查找的所有问题等)
  • 未使用的资源
  • 数组大小不一致(在多个配置中定义数组时)
  • 可访问性和国际化问题(硬编码字符串、缺少内容描述等)
  • 图标问题(如密度丢失、图标重复、大小错误等)
  • 可用性问题(如未在文本字段上指定输入类型)
  • 明显错误

它可帮助您发现并纠正代码结构质量的问题,而无需实际执行该应用,也不必编写测试用例。该工具会报告其检测到的每个问题并提供该问题的描述消息和严重级别,以便您可以快速确定需要优先进行哪些关键改进。此外,您可以调低问题的严重级别,忽略与项目无关的问题,也可以调高严重级别,以突出特定问题。

Lint 工具可检查您的 Android 项目源文件是否包含潜在错误,以及在正确性、安全性、性能、易用性、便利性和国际化方面是否需要优化改进。在使用 Android Studio 时,配置的 Lint 和 IDE 检查会在您每次构建应用时运行。

image.png

在命令行执行

代码语言:javascript
复制
./gradlew lint

加入仅仅仅仅检查 buildType=debug ,可以使用:

代码语言:javascript
复制
./gradlew lintDebug

执行完毕后,输入的内容如下:

image.png

查看报告

报告位于:app/build/reports/lint-results.html 它可能长这样:

image.png

接下来

查看报告,根据这些警告和提示修复代码,改进代码缺陷,提高代码质量。

我们可以将 Lint 工具集成到我们CI过程中去,构成研发体系的一部分。

扩展阅读

我们可能想做一些自定义设置,可以这么做

代码语言:javascript
复制
def configDir = "${project.rootDir}/config/quality"
def reportsDir = "${project.buildDir}/reports"

    android {
        lintOptions {
            abortOnError true
            xmlReport false
            htmlReport true
            lintConfig file("$configDir/lint/lint.xml")
            htmlOutput file("$reportsDir/lint/lint-result.html")
            xmlOutput file("$reportsDir/lint/lint-result.xml")
        }
    }

参考

https://developer.android.google.cn/studio/write/lint.html https://sites.google.com/a/android.com/tools/tips/lint https://www.jianshu.com/p/b4c44e62d652 这篇文章真的很详细。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景
  • Lint 介绍
  • 在命令行执行
  • 查看报告
  • 接下来
    • 扩展阅读
    • 参考
    相关产品与服务
    持续集成
    CODING 持续集成(CODING Continuous Integration,CODING-CI)全面兼容 Jenkins 的持续集成服务,支持 Java、Python、NodeJS 等所有主流语言,并且支持 Docker 镜像的构建。图形化编排,高配集群多 Job 并行构建全面提速您的构建任务。支持主流的 Git 代码仓库,包括 CODING 代码托管、GitHub、GitLab 等。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档