返回顶部
首页 > 资讯 > 移动开发 >Android lint配置及使用
  • 389
分享到

Android lint配置及使用

android面试lint优化瘦身 2023-09-10 08:09:41 389人浏览 泡泡鱼
摘要

关于作者:CSDN内容合伙人、技术专家, 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 ,擅长java后端、移动开发、商业变现、人工智能等,希望大家多多支持。 目录 一、导

关于作者:CSDN内容合伙人、技术专家, 从零开始做日活千万级APP。
专注于分享各领域原创系列文章 ,擅长java后端移动开发、商业变现、人工智能等,希望大家多多支持。

目录

在这里插入图片描述

一、导读

我们继续总结学习** lint 基础知识**,温故知新。

二、概览

Android Studio 提供了一个名为 lint 的代码扫描工具,可帮助您发现并更正代码结构质量方面的问题,而无需您实际执行应用,
也不必编写测试用例。系统会报告该工具检测到的每个问题并提供问题的描述消息和严重级别,以便您可以快速确定需要优先进行的关键改进。
此外,您还可以降低问题的严重级别以忽略与项目无关的问题,或者提高严重级别以突出特定问题。

lint 工具可以检查您的 Android 项目源文件是否有潜在的 bug,以及在正确性、安全性、性能、易用性、无障碍性和国际化方面是否需要优化改进。

lint 官网

三、将 lint 配置为不显示警告

默认情况下,当您运行 lint 扫描时,凡是 lint 可帮助检查的问题,lint 工具都会检查是否存在。
您也可以限定让 lint 只检查是否存在某些问题,并为这些问题指定严重级别。例如,您可以禁止 lint 检查是否存在与项目无关的特定问题,
还可以将 lint 配置为以较低的严重级别报告非关键问题。

您可以配置不同级别的 lint 检查:

全局(整个项目)项目模块生产模块测试模块打开的文件类层次结构版本控制系统 (VCS) 范围

3.1 在 Android Studio 项目 中配置 lint

可以在 lint.xml 文件中指定 lint 检查偏好设置,在项目的根目录下创建此文件,
通过在 标记中设置严重级别属性来更改某个问题的严重级别或禁止对该问题进行 lint 检查。

<lint>                                                                        <issue id="SmallSp" severity="ignore"/>        <issue id="ButtonStyle" severity="ignore"/>        <issue id="SpellCheckingInspection" severity="ignore"/>    <issue id="Spelling" severity="ignore"/>        <issue id="ContentDescription" severity="ignore"/>    <issue id="SameParameterValue" severity="ignore"/>        <issue id="UsingHttp" severity="ignore" >        <ignore path="demo/gradle/wrapper/gradle-wrapper.properties" />    issue>            <issue id="AllowBackup" severity="ignore"/>    <issue id="RtlEnabled" severity="ignore" />        <issue id="IconMissingDensityFolder" severity="ignore"/>    <issue id="GradleDependency" severity="ignore" />lint>

3.2 配置 Java、Kotlin 和 XML 源文件的 lint 检查

settings > Editor > Inspections
在这里插入图片描述

  • Accessibility 辅助选项,比如ImageView的contentDescription往往建议在属性中定义等。
  • Compliance 合规性,违反了Google Play的要求,比如使用了过期的库版本,性能、安全性、api等级等没有遵循新系统的要求等。
  • Correctness 不够完美的编码,比如硬编码、使用过时API等。
  • Internationalization 国际化,直接使用汉字,没有使用资源引用等
  • Interoperability 互操作性,比如和Kotln的交互等。
  • PerfORManc 对性能有影响的编码,比如:静态引用,循环引用等
  • Security 不安全的编码,比如在 WEBView 中允许使用 javascriptInterface等
  • Usability 可用的,有更好的替换的 比如排版、图标格式建议.png格式等

3.3 配置 Java 或 Kotlin 的 lint 检查

要专门对 Android 项目中的某个类或方法停用 lint 检查,请向该代码添加 @SuppressLint 注解。

以下示例展示了如何对 onCreate 方法中的 NewApi 问题停用 lint 检查。lint 工具会继续检查该类的其他方法中的 NewApi 问题。

@SuppressLint("NewApi")@Overridepublic void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.main);}

以下示例展示了如何对 FeedProvider 类中的 ParserError 问题停用 lint 检查:

@SuppressLint("ParserError")public class FeedProvider extends ContentProvider {

要禁止 lint 检查文件中的所有问题,请使用 all 关键字,如下所示

@SuppressLint("all")

3.4 配置 XML 的 lint 检查

以使用 tools:ignore 属性对 XML 文件的特定部分停用 lint 检查。在 lint.xml 文件中添加以下命名空间值,以便 lint 工具能够识别该属性:

namespace xmlns:tools="http://schemas.android.com/tools"

以下示例展示了如何对 XML 布局文件的 元素中的 UnusedResources 问题停用 lint 检查。如果某个父元素声明了 ignore 属性,则该元素的子元素会继承此属性。在本示例中,也会对 子元素停用 lint 检查。

<LinearLayout    xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    tools:ignore="UnusedResources" >    <TextView        android:text="@string/auto_update_prompt" /></LinearLayout>

要禁止检查多个问题,请使用以英文逗号分隔的字符串列出要禁止检查的问题。例如:

tools:ignore="NewApi,StringFormatInvalid"

要禁止 lint 检查 XML 元素中的所有问题,请使用 all 关键字,如下所示:

tools:ignore="all"

3.5 通过 Gradle 配置 lint 选项

通过 Android Plugin for Gradle,您可以使用模块级 build.gradle 文件中的 lint{} 代码块配置某些 lint 选项,例如要运行或忽略哪些检查。以下代码段展示了您可以配置的部分属性:

android {    ...    lint {        // Turns off checks for the issue IDs you specify.        disable 'TypographyFractions','TypographyQuotes'        // Turns on checks for the issue IDs you specify. These checks are in        // addition to the default lint checks.        enable 'RtlHardcoded','RtlCompat', 'RtlEnabled'        // To enable checks for only a subset of issue IDs and ignore all others,        // list the issue IDs with the 'check' property instead. This property overrides        // any issue IDs you enable or disable using the properties above.        checkOnly 'NewApi', 'InlinedApi'        // If set to true, turns off analysis progress reporting by lint.        quiet true        // If set to true (default), stops the build if errors are found.        abortOnError false        // If true, only report errors.        ignoreWarnings true        // If true, lint also checks all dependencies as part of its analysis. Recommended for        // projects consisting of an app with library dependencies.        checkDependencies true    }}...

四、Android studio 运行lint检查

通过依次选择 code > Inspect Code,手动运行配置的 lint 及其他 IDE 检查。检查结果将显示在 Inspection Results 窗口中
结果。
在这里插入图片描述

点击 OK 以运行检查。下图 显示了通过运行 Inspect Code 所生成的 lint 及其他 IDE 检查结果
在这里插入图片描述

下面我们列出一些常用的单独的选项

4.1 去掉无用资源

通过依次选择 code > Analyze Code > Run Inspection By Name
在这里插入图片描述

然后在对话框中输入 unused resources
在这里插入图片描述
点击ok

4.2 去掉 无用的import

通过依次选择 code > Analyze Code > Run Inspection By Name

在这里插入图片描述

然后在对话框中输入 unused import
在这里插入图片描述
点击ok

4.3 去掉无用声明

方式同上,
然后在对话框中输入 unused declaration

4.4 去掉无用赋值

方式同上,
然后在对话框中输入 unused assignment

4.5 去掉xml中未使用的命名空间声明或位置提示

方式同上,
然后在对话框中输入 unused schema declaration

4.6 去掉无用依赖库

方式同上,
然后在对话框中输入 unused library

constant conditional expression

更多选项请在 配置 Java、Kotlin 和 XML 源文件的 lint 检查 中查看。

五、从命令行运行 lint

如果您当前未使用 Android Studio 或 Gradle,您可以在通过 SDK 管理器安装 Android SDK 命令行工具后使用独立 lint 工具。
安装该组件后,您可以在 android_sdk/cmdline-tools/version/bin/lint 中找到 lint 工具。

如需对项目目录中的文件列表运行 lint,请使用以下命令:

lint [flags] <project directory>

例如,您可以发出以下命令来扫描 myproject 目录及其子目录下的文件。问题 ID MissingPrefix 提示 lint 仅扫描是否存在缺少 Android 命名空间前缀的 XML 属性。

lint --check MissingPrefix myproject

要查看该工具支持的标志和命令行参数的完整列表,请使用以下命令:

lint --help

下例显示了对一个名为 Earthquake 的项目运行 lint 命令时的控制台输出。

$ lint EarthquakeScanning Earthquake: ...............................................................................................................................Scanning Earthquake (Phase 2): .......AndroidManifest.xml:23: Warning: <uses-sdk> tag appears after <application> tag [ManifestOrder]  <uses-sdk android:minSdkVersion="7" />  ^AndroidManifest.xml:23: Warning: <uses-sdk> tag should specify a target API level (the highest verified version; when running on later versions, compatibility behaviors may be enabled) with android:targetSdkVersion="?" [UsesMinSdkAttributes]  <uses-sdk android:minSdkVersion="7" />  ^res/layout/preferences.xml: Warning: The resource R.layout.preferences appears to be unused [UnusedResources]res: Warning: Missing density variation folders in res: drawable-xhdpi [IconMissingDensityFolder]0 errors, 4 warnings

以上输出未列出任何错误,但列出了四条警告:其中三条警告(ManifestOrder、UsesMinSdkAttributes 和 UnusedResources)
出现在项目的 AndroidManifest.xml 文件中,一条警告 (IconMissingDensityFolder) 出现在 Preferences.xml 布局文件中。

五、 推荐阅读

Java 专栏

SQL 专栏

数据结构与算法

Android学习专栏

ddd

来源地址:https://blog.csdn.net/fumeidonga/article/details/132765951

--结束END--

本文标题: Android lint配置及使用

本文链接: https://lsjlt.com/news/402145.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Android lint配置及使用
    关于作者:CSDN内容合伙人、技术专家, 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 ,擅长java后端、移动开发、商业变现、人工智能等,希望大家多多支持。 目录 一、导...
    99+
    2023-09-10
    android 面试 lint 优化 瘦身
  • 详解Android Lint的原理及其使用
    Android Lint 原理及使用详解 Android Lint 是 ADT 16中引入的新工具,用于扫描 Android 项目源中的潜在错误。 Lint 是 Android 提...
    99+
    2024-04-02
  • Android TraceView和Lint使用详解及性能优化
    Android lint工具是Android studio中集成的一个代码提示工具,它主要负责对你的代码进行优化提示,包括xml和java文件,很强大。编写完代码及时进行lin...
    99+
    2022-06-06
    性能 lint 性能优化 优化 Android
  • TraceView与Lint如何在Android 应用中使用
    本篇文章为大家展示了TraceView与Lint如何在Android 应用中使用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Android lint工具是Android studio中集成的一个代...
    99+
    2023-05-31
    android traceview lint
  • Android 开机广播的使用及配置
    相关文章 Android 4.0 无法接收开机广播的问题 在配置文件AndroidManifest.xml中向系统注册receiver,子节点 intent-filter 表示...
    99+
    2022-06-06
    Android
  • Android Vulkan 使用配置
    大家好,接下来将为大家介绍Android Vulkan 使用配置。 首先要确定手机是否支持Vulkan,可以下载一个AIDA64应用app,在设备中如果能找到vulkan设备,...
    99+
    2022-06-06
    Android
  • Log4j.properties配置及其使用
    目录一、log4j简介1、Loggers2、Appenders3、Layouts二、配置详解1、配置根Logger:2、配置日志信息输出目的地(appender):2.1Consol...
    99+
    2024-04-02
  • SpringCloud:Feign的使用及配置
    目录 Feign的使用及配置 1、Feign替代RestTemplate 2、使用Fegin步骤 3、自定义配置 4、Feign使用优化 5、Feign的最佳实践方式 Feign的使用及配置 1、Feign替代RestTemplate...
    99+
    2023-09-18
    spring cloud java spring boot
  • Android SDK安装及配置
    Android SDK(Software Development Kit)是一个开发Android应用程序所需的开发工具包。下面是A...
    99+
    2023-09-13
    Android
  • 【Android】SDK安装及配置
    一、下载SDK Tools 地址:AndroidDevTools - Android开发工具 Android SDK下载 Android Studio下载 Gradle下载 SDK Tools下载  以windows10系统为例,下载压缩...
    99+
    2023-08-31
    android
  • Softerra LDAP Browser使用及配置
    Softerra LDAP Browser 是一种用于浏览和编辑 Lightweight Directory Access Prot...
    99+
    2023-09-23
    Softerra
  • @RequestLine怎么使用及配置
    本篇内容介绍了“@RequestLine怎么使用及配置”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!@RequestLine的使用及配置@R...
    99+
    2023-07-02
  • ESLine怎么配置及使用
    本文小编为大家详细介绍“ESLine怎么配置及使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“ESLine怎么配置及使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。环境:React,Webpack,Babe...
    99+
    2023-06-05
  • .eslintrc配置目录及配置项的使用方式
    目录.eslintrc文件配置介绍规则文档eslint问题如下还有相关的案例说明今天在运行antd-design-vue的源代码项目时,发现vscode有很多eslint的报错,原因...
    99+
    2022-11-13
    eslintrc配置目录 eslintrc配置项 eslintrc配置
  • 怎么用命令行CLI一键生成各种烦人的lint配置
    这篇文章主要讲解了“怎么用命令行CLI一键生成各种烦人的lint配置”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用命令行CLI一键生成各种烦人的lint配置”吧!create-lint...
    99+
    2023-07-05
  • Logback的使用及如何配置
    目录1 为什么选用Logback?2 Logback的配置3 Logback的输出格式4 Appender5 Logback使用过程中遇到的问题日志在项目开发过程的作用不言而喻,项目...
    99+
    2024-04-02
  • SpringBoot使用minio及配置代码
    目录1、导入 minio jar包2、配置3、实现MinIO是一个开源的对象存储服务。适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对...
    99+
    2024-04-02
  • JavaScript webpack5如何配置及使用
    这篇文章主要讲解了“JavaScript webpack5如何配置及使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript&nbs...
    99+
    2024-04-02
  • Windows10环境adb配置及使用
    下载 adb工具官网下载地址:Download Android SDK - free - latest version 安装 下载得到一个压缩包,解压在任一文件夹下,这里解压在D盘的一个文件夹 注意这里的文件地址要牢记 配置环境变量 右键...
    99+
    2023-09-13
    adb android
  • salt-api安装配置及使用
    Python3使用saltstack和salt-api 安装python3 1. tar zxvf Python-3.5.1.tgz 2. cd Python-3.5.1 3. ./confi...
    99+
    2023-01-31
    salt api
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作