前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >配置Android项目 - 静态代码分析工具

配置Android项目 - 静态代码分析工具

作者头像
岛哥的质量效能笔记
发布2021-08-18 13:02:32
6440
发布2021-08-18 13:02:32
举报

原文地址:https://hackernoon.com/configuring-android-project-static-code-analysis-tools-b6dd83282921#.29l4un3xn

静态代码分析工具

静态代码分析工具 - 分析代码而不执行它。通常用于发现错误或确保符合编码指南。有助于保持你的代码健康,并保持代码质量。

在Android上,最流行的代码分析工具是:

  • Lint
  • PMD
  • Findbugs

我通常将静态代码分析脚本和相关文件保存在单独的文件夹中。

Lint

lint工具检查你的Android项目源文件是否存在潜在错误,并针对正确性,安全性,性能,可用性,可访问性和国际化进行优化改进。

配置

添加lint到你的android项目创建script-lint.gradle文件。

重要的lint选项:

  • lintConfig?—lint规则集的路径(可以用来配置压制警告)。
  • htmlOutput?—html报告生成的地方。

将script-lint.gradle导入到build.gradle文件。

测试

重新构建你的项目,然后使用./gradlew lint命令运行lint。如果它发现一些问题,你会看到类似下面的输出。

当你打开lint.html报告文件时,你将看到问题列表描述,和如何解决它们的建议。

如果你想忽略此问题,请将以下规则添加到rules-lint.xml文件中。

注意:还有其他方法可以压制lint警告。有关lint的更多信息,请访问官方网站。

Findbugs

静态代码分析工具,用于分析Java字节码并检测各种各样的问题。

配置

要添加findbug到你的android项目需要创建script-findbugs.gradle文件。

重要的findbugs选项:

  • excludeFilter?—findbugs规则集文件所在的路径,你可以在其中压制问题。
  • classes?—?生成的类的路径(如果你有多个flavor,路径由flavor名称组成,在当前情况下为“dev”)。
  • source?—源代码的路径
  • html.destination?—html报告生成的路径

将script-findbugs.gradle导入到build.gradle文件。

测试

为了测试,我们将创建以下方法。

重新构建你的项目,然后运行findbugs ./gradlew findbugs命令。如果它发现一些问题,你会看到类似下面的输出。

当你打开findbugs.html报告文件,你将看到问题列表与说明和如何解决它们的建议。

如果你想忽略此问题,请将以下规则添加到rules-findbugs.xml文件中。

注意:还有其他方法去压制findbugs警告。有关findbugs的更多信息,请访问官方网站。

PMD

PMD是一个源代码分析器。它发现常见的编程缺陷,如未使用的变量,空catch块,不必要的对象创建等等。

配置

要添加pmd到你的android项目那么需要创建script-pmd.gradle文件。

重要的pmd选项:

  • ruleSetFiles?—pmd规则集文件的路径,你可以在其中压制问题并定义要跟踪的问题。
  • source?—源代码的路径
  • html.destination?—html报告生成的路径

将脚本script-pmd.gradle导入到build.gradle文件。

测试

为了测试,我们将创建以下方法。

重新构建你的项目,然后使用./gradlew pmd命令运行pmd。如果它发现一些问题,你会看到类似下面的输出。

当你打开pmd.html报告文件,你将看到问题列表与说明和如何解决它们的建议。

如果你想忽略此问题,请将以下规则添加到rules-pmd.xml文件中。

注意:还有其他方法压制pmd警告。有关pmd的更多信息,请访问官方网站。

全栈增长工程师

数据驱动未来 技术成就梦想 产品改变世界

本文参与?腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-03-21,如有侵权请联系?cloudcommunity@tencent.com 删除

本文分享自 岛哥的质量效能笔记 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 静态代码分析工具
  • Lint
    • 配置
      • 测试
      • Findbugs
        • 配置
          • 测试
          • PMD
            • 配置
              • 测试
              相关产品与服务
              腾讯云代码分析
              腾讯云代码分析(内部代号CodeDog)是集众多代码分析工具的云原生、分布式、高性能的代码综合分析跟踪管理平台,其主要功能是持续跟踪分析代码,观测项目代码质量,支撑团队传承代码文化。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
              http://www.vxiaotou.com