【Android Gradle 插件】LintOptions 配置 ④ ( Lint 问题 ID | fatal 方法配置 | ignore 方法配置 | warning 方法配置 )

2023-03-30 15:27:21 浏览数 (1)

文章目录

  • 一、Lint 问题 ID
  • 二、LintOptions#fatal 方法配置
    • 1、配置简介
    • 2、fatal 方法原型
    • 3、使用示例
  • 三、LintOptions#ignore 方法配置
    • 1、配置简介
    • 2、ignore 方法原型
    • 3、使用示例
  • 四、LintOptions#warning 方法配置
    • 1、配置简介
    • 2、warning 方法原型
    • 3、使用示例

Android Plugin DSL Reference 参考文档 :

  • 文档主页 : https://google.github.io/android-gradle-dsl/2.3/
  • BaseExtension 文档位置 : android-gradle-dsl/2.3/com.android.build.gradle.BaseExtension.html
  • AppExtension ( build.gradle#android 配置 ) 文档位置 : android-gradle-dsl-gh-pages/2.3/com.android.build.gradle.AppExtension.html
  • build.gradle#android 模块配置文档 : android-gradle-dsl/2.3/com.android.build.gradle.AppExtension.html
  • ProductFlavor ( build.gradle#android#defaultConfig 配置 ) 文档 : android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.ProductFlavor.html
  • ProductFlavor#externalNativeBuild 配置 ( build.gradle#android#defaultConfig#externalNativeBuild 配置 ) : com.android.build.gradle.internal.dsl.ProductFlavor:externalNativeBuild
  • ExternalNativeBuildOptions ( build.gradle#android#defaultConfig#externalNativeBuild 配置 ) 文档位置 : android-gradle-dsl-gh-pages/2.3/com.android.build.gradle.internal.dsl.ExternalNativeBuildOptions.html
  • NdkBuildOptions ( build.gradle#android#defaultConfig#externalNativeBuild#ndkBuild 配置 ) 文档位置 : android-gradle-dsl-gh-pages/2.3/com.android.build.gradle.internal.dsl.NdkBuildOptions.html
  • CmakeOptions ( build.gradle#android#defaultConfig#externalNativeBuild#cmake 配置 ) 文档位置 : android-gradle-dsl-gh-pages/2.3/com.android.build.gradle.internal.dsl.CmakeOptions.html
  • JackOptions ( build.gradle#android#defaultConfig#jackOptions 配置 ) 文档位置 : android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.JackOptions.html
  • AnnotationProcessorOptions ( 注解处理器配置 ) ( build.gradle#android#defaultConfig#javaCompileOptions配置 ) 文档位置 : android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.AnnotationProcessorOptions.html
  • NdkOptions ( build.gradle#android#defaultConfig#ndk 配置 ) 文档位置 : android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.NdkOptions.html
  • VectorDrawablesOptions ( build.gradle#android#defaultConfig#vectorDrawables 配置 ) 文档位置 : android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.VectorDrawablesOptions.html
  • BuildType ( build.gradle#android#buildTypes 配置 ) 文档位置 : android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.BuildType.html
  • SigningConfig ( build.gradle#android#signingConfigs 配置 ) 文档位置 : android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.SigningConfig.html
  • AaptOptions ( build.gradle#android#aaptOptions 配置 ) 文档位置 : android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.AaptOptions.html
  • AndroidSourceSets ( build.gradle#android#sourceSets 配置 ) 文档位置 : android-gradle-dsl/2.3/com.android.build.gradle.api.AndroidSourceSet.html
  • AndroidSourceDirectorySet ( build.gradle#android#sourceSets#aidl/assets/java/jni/jniLibs 配置 ) 文档位置 :android-gradle-dsl/2.3/com.android.build.gradle.api.AndroidSourceDirectorySet.html
  • AndroidSourceFile ( build.gradle#android#sourceSets#manifest 配置 ) 文档位置 : android-gradle-dsl/2.3/com.android.build.gradle.api.AndroidSourceFile.html
  • DataBindingOptions ( build.gradle#android#dataBinding ) 文档位置 : android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.DataBindingOptions.html
  • DexOptions ( build.gradle#android#dexOptions ) 文档位置 : android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.DexOptions.html
  • LintOptions ( build.gradle#android#lintOptions ) 文档位置 : android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.LintOptions.html
  • NDK 参考文档 : Add C and C Code to Your Project.

一、Lint 问题 ID


lint 的问题 id 指的是执行

代码语言:javascript复制
lint --list

命令 , 打印出的 有效问题 id ( Valid issue id’s ) :

代码语言:javascript复制
D:01_Develop01_SDKSdktoolsbin>lint --list
Valid issue categories:
    Correctness
    Correctness:Messages
    Correctness:Chrome OS
    Security
    Performance
    Usability:Typography
    Usability:Icons
    Usability
    Accessibility
    Internationalization
    Internationalization:Bidirectional Text

Valid issue id's:
"ContentDescription": Image without contentDescription
"AddJavascriptInterface": addJavascriptInterface Called
"ShortAlarm": Short or Frequent Alarm
...
"WrongFolder": Resource file in the wrong res folder
"WrongThreadInterprocedural": Wrong Thread (Interprocedural)
D:01_Develop01_SDKSdktoolsbin>

在上一篇博客中 , 生成的 lint 检查报告 , 其中左侧的 就是 问题 id , 如 " VectorRaster "

二、LintOptions#fatal 方法配置


LintOptions ( build.gradle#android#lintOptions ) 文档位置 : android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.LintOptions.html

1、配置简介

LintOptions#fatal 配置 用于 设置 Lint 问题 id 或者多个 id 为 fatal 级别 ;

Lint 的 问题 id 指的是 Lint 检查 , 会检查出各种问题 , 问题 ID 就表示该问题的类型 ,

上述配置的作用是 , 如果检查出 该 问题 ID 对应的问题 , 则将其判定为 fatal 级别的问题 ;

2、fatal 方法原型

LintOptions#fatal 配置原型 : fatal 方法是一个多态函数 , 可以传入 单个 String 字符串作为参数 , 也可以传入可变长度的 若干 String 字符串作为参数 ;

代码语言:javascript复制
void fatal(String id)
Adds a severity override for the given issues.

void fatal(String... ids)
Adds a severity override for the given issues.

3、使用示例

LintOptions#fatal 方法配置使用示例 :

代码语言:javascript复制
    lintOptions {
        // 编译时遇到错误, 停止编译
        abortOnError false
        fatal ('ContentDescription')
    }

三、LintOptions#ignore 方法配置


LintOptions ( build.gradle#android#lintOptions ) 文档位置 : android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.LintOptions.html

1、配置简介

LintOptions#ignore 配置 用于 设置 Lint 问题 id 或者多个 id 为 ignore 级别 ;

Lint 的 问题 id 指的是 Lint 检查 , 会检查出各种问题 , 问题 ID 就表示该问题的类型 ,

上述配置的作用是 , 如果检查出 该 问题 ID 对应的问题 , 则将其判定为 ignore 级别的问题 ;

2、ignore 方法原型

LintOptions#ignore 配置原型 : fatal 方法是一个多态函数 , 可以传入 单个 String 字符串作为参数 , 也可以传入可变长度的 若干 String 字符串作为参数 ;

代码语言:javascript复制
void ignore(String id)
Adds a severity override for the given issues.

void ignore(String... ids)
Adds a severity override for the given issues.

3、使用示例

LintOptions#ignore 方法配置使用示例 :

代码语言:javascript复制
    lintOptions {
        // 编译时遇到错误, 停止编译
        abortOnError false
        ignore ('ContentDescription')
    }

四、LintOptions#warning 方法配置


LintOptions ( build.gradle#android#lintOptions ) 文档位置 : android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.LintOptions.html

1、配置简介

LintOptions#warning 配置 用于 设置 Lint 问题 id 或者多个 id 为 warning 级别 ;

Lint 的 问题 id 指的是 Lint 检查 , 会检查出各种问题 , 问题 ID 就表示该问题的类型 ,

上述配置的作用是 , 如果检查出 该 问题 ID 对应的问题 , 则将其判定为 warning 级别的问题 ;

2、warning 方法原型

LintOptions#warning 配置原型 : warning 方法是一个多态函数 , 可以传入 单个 String 字符串作为参数 , 也可以传入可变长度的 若干 String 字符串作为参数 ;

代码语言:javascript复制
void warning(String id)
Adds a severity override for the given issues.

void warning(String... ids)
Adds a severity override for the given issues.

3、使用示例

LintOptions#warning 方法配置使用示例 :

代码语言:javascript复制
    lintOptions {
        // 编译时遇到错误, 停止编译
        abortOnError false
        warning ('ContentDescription')
    }

0 人点赞