使用Android Studio Lint静态分析

栏目: IOS · Android · 发布时间: 5年前

内容简介:程序静态分析是指在不运行代码的方式下,通过词法分析、语法分析、控制流、数据流分析等技术对程序代码进行扫描,验证代码是否满足规范性、安全性、可靠性、可维护性等指标的一种代码分析技术。Lint是Android Studio提供的Lint静态扫描的工作原理如下图。

程序静态分析是指在不运行代码的方式下,通过词法分析、语法分析、控制流、数据流分析等技术对程序代码进行扫描,验证代码是否满足规范性、安全性、可靠性、可维护性等指标的一种代码分析技术。

Java-Android代码常用的分析工具

  • Checkstyle
  • FindBugs
  • Soot
  • Lint

使用 Lint 改进您的代码

Lint是Android Studio提供的 代码扫描工具 ,自动化地对代码进行扫描,帮助改善代码结构的规范性和可维护性,提高代码质量。

Lint静态扫描的工作原理如下图。

使用Android Studio Lint静态分析

Android Studio中Lint的操作步骤

Android Stuido Lint提供了 Specify Inspection Scope 面板,在面板中对代码扫描任务做个性化定义。

使用Android Studio Lint静态分析

打开 Specify Inspection Scope 面板:菜单栏->Analyze->Inspect Code

设定扫描范围Custom Scope

  • 在面板中可以配置Lint扫描的范围,其中File选项会根据面板弹出前光标所在位置显示三种状态:
  • Files:在打开的文件上调出面板,可以对当前打开的文件进行扫描;
  • Directory:在Project面板中选中名录调出面板,对选定的目录进行扫描;
  • 隐藏:不提供此选项
  • 个性化扫描范围设定
  • 标题右侧的下拉框可以选择已有的自定义扫描配置
  • 下拉框右侧的“...”按钮,可以调起自定义扫描配置面板,可以任意的为一项配置添加和删除待扫描的源文件。左侧一列是自定义的配置列表,他们将出现在上一层的下拉框内备选。
使用Android Studio Lint静态分析

检查项设置

Specify Inspection Scope 面板上最后一项Inspection profile,指定在代码扫描过程中对哪些问题进行检查。系统默认只提供一个Default可选项,我们可以点击下拉框右边的“...”按钮添加个性化的可选项。

  • 如下图,我们需要先把Default配置项Copy to Project,改个可爱的名字后就可以在新产生的配置项上进行编辑了。

第一步可以点击橡皮擦(图中被弹出框盖住了),把从Default中复制下来的选项全部清除,然后根据需要选择合适的集合即可。

其中Android、General、XML和Spelling是必选项,如果工程中只有 Java 代码,就只需要勾选Java一项就可以了,否则可能还需要选上kotlin、flutter、dart等相关的选项。

另外,上面说的那些选项,下面还有许多的子选项,并不是都必须的,可以根据需要选择部分子选项进行检查。

使用Android Studio Lint静态分析
  • 问题警告级别

选中检查项设置某一个选项,右侧会给出对应的描述和安全提醒级别。Android Studio Lint提供了六级安全提示,每种级别对应着不同的外观,重要程度不同,醒目的程度也不一样。

使用Android Studio Lint静态分析

设置完所需的选项之后,点击右下角的“OK”,就可以使用这个设置集合了。


以上所述就是小编给大家介绍的《使用Android Studio Lint静态分析》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Laravel框架关键技术解析

Laravel框架关键技术解析

陈昊、陈远征、陶业荣 / 电子工业出版社 / 2016-7 / 79.00元

《Laravel框架关键技术解析》以Laravel 5.1版本为基础,从框架技术角度介绍Laravel构建的原理,从源代码层次介绍Laravel功能的应用。通过本书的学习,读者能够了解Laravel框架实现的方方面面,完成基于该框架的定制化应用程序开发。 《Laravel框架关键技术解析》第1章到第4章主要介绍了与Laravel框架学习相关的基础部分,读者可以深入了解该框架的设计思想,学习环......一起来看看 《Laravel框架关键技术解析》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

在线进制转换器
在线进制转换器

各进制数互转换器

随机密码生成器
随机密码生成器

多种字符组合密码