lint.xml 的上下文和检查配置文件

Context of lint.xml and inspection profile

在 Android Studio 中有 lint.xml 配置和 ./idea/inspectionProfiles/.xml 可通过 设置 => 编辑器 => 检查 进行管理。我了解 lint.xml 由 lint 命令行工具使用,检查配置文件由 Android Studio IDE.

使用

官方文档是here. I also found this post and this post .

This answer 在 build.gradle.

中有一个很好的 lintOptions{ } 块示例

但是缺少一些信息。

  1. 规则的编号和名称是否相同?
  2. 有没有一种(简单的)方法可以将检验配置文件转换为 lint.xml,反之亦然?
  3. 它们是完全分开的还是存在其中一个包含在另一个中的情况?
  4. 除了上面提到的情况(例如提交时分析),还有哪一个被执行?

到目前为止,我可以总结一下我的研究。

1.) Inspection Profile 正在扩展 lint.xml,因此 lint.xml 规则的数量小于 Inspection profile 规则的数量。 当前 lint.xml 规则集可在 here.

中找到

2.) 定义 lint.xml 后,在 Android Studio 中,您可以转到 File => Settings => Editor => Inspections 并使用 Manage => Import 下拉菜单指向您的 lint.xml。这会将 lint.xml 之外的所有规则设置为停用。

我不知道有什么方法可以将 InspectionProfile 转换成 lint.xml。

3.) 请参阅 1.),检查配置文件正在扩展 lint.xml。

4.) 由于 Inspection Profile 在本地使用并在 Android Studio 内部使用,因此它在编辑器中的 运行 时间内执行,并在检查分析时提交。 您的 lint.xml 通常位于项目的根目录并提交到 SVN/GIT。然后您的配置服务器(Jenkins、QuickBuild 等)可以指定任务 运行 这个 lint.xml 并处理它的输出。

其他有用的东西:

  • 您可以从 Android Studio 中的终端 运行 gradlew lint。它将在 /build/outputs/lint-results-debug.html 或指定的任何文件位置创建一个 html 页面。
  • 当您在 Android Studio 编辑器中打开 lint.xml 文件时,会为规则提供大量内容帮助。然而,规则集中似乎存在差距,例如Convert2Lambda 在示例 lint.xml 中,但不在 official documentation.

  • 尽管将 ./idea 置于版本控制下通常不是一个好主意,但对于团队分发,您可以在 /.idea/inspectionProfiles/MyInspectionProfile.xml 并将所有其他文件放在 /.idea 中忽略。有一篇关于这个主题的文章我找不到了,但这个解决方案对我的团队来说就像一个魅力。