Android 命令行缺失问题组的 lint(相对于 Android Studio 中可用的选项)

Android lint on command-line missing issue groups (versus options available in Android Studio)

当我在 Android Studio 中通过分析 -> 检查代码 运行 lint 时,我能够 select 从各种各样的东西中寻找。

当我转到命令行版本的 lint 并列出所有要检查的可用内容 (lint --list) 时,我得到的列表不包括我在 Android Studio 中看到的所有检查.

例如,我可以在 Android Studio 中 运行 使用 ID ConstantConditions 检查,但无法在命令行中 运行 它。

~/app [master] lint --check ConstantConditions --xml results.xml app
  Invalid id or category "ConstantConditions".

AndroidStudio 是否使用其他版本的 lint?以下是有关 lint 命令行版本的一些信息:

~/app [master] which lint
  lint is /Users/Mark/android-sdk-macosx/tools/lint
~/app [master] lint --version
  lint: version 24.3.3

IntelliJ IDEA有一个"inspections"的概念,AndroidStudio继承了这个。对于 Android Studio 的检查引擎报告的任何给定问题,可以有三个理论来源:

  1. 一只股票IDE一只检查,Android工作室简单地采用了一只。

  2. 一个 Android Studio 特定的检查,用于可能只能从 IDE 内部而不是外部 Lint 工具轻松检测到的东西。

  3. 来自 Lint 的内容。

我不知道 #2 是否真的被任何东西使用,但它在可能性范围内。

就您的错误而言,要么是不是 Lint 的东西(例如 IDEA 检查),要么是检查的表示方式与等效命令行之间存在命名差异。由于这些东西没有特别详细的记录,因此很难说出发生了什么。

但是,一般来说,不要假设您看到的 Android Studio 大声疾呼的一切都一定来自 Lint。