Android Studio 3.0+ 版本的自定义lint检查
Android Studio上自定义lint在Android Studio3.0上有了非常简单的实现机制,在此记录一下
定义LintModule
首先需要新建一个module,选择Module类型为java lib。下一步lib的名称,包名,class名称按自己的要求来
开发lint规则
lint库依赖
在lintModule的build.gradle中引入lint的依赖
dependencies {
compileOnly 'com.android.tools.lint:lint-api:26.2.0'
compileOnly 'com.android.tools.lint:lint-checks:26.2.0'
}
新建log检查规则
Android项目中因为安全问题,一般都不推荐直接使用系统的log打日志。可以针对代码中的log使用给出error的红线警告。
LogDetactor
继承Detector实现的接口是Detector.UastScanner
第一步是定义这个issue,前面3个参数用来定义这个issue的id和文本信息。Category.SECURITY用来定义issue的分组,prority是错误等级,Severrity.ERROR是错误的严重程度(代码底下显示红色警告还是黄色警告),这3个参数都会影响lint的Report报告信息和分组信息。最后一个参数影响的是issue的检查范围,Log只会存在java文件中所以检查范围是java文件。
@Override
public List<String> getApplicableMethodNames() {
return Arrays.asList("v",