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

时间:2017-03-13 10:26:35

标签: android android-studio lint android-lint code-inspection

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

官方文件是here。我还发现了这篇文章How is lint integrated with IntelliJ inspections in Android Studio?和帖子Android lint on command-line missing issue groups (versus options available in Android Studio)

This answer在build.gradle中有一个很好的lintOptions {}块示例。

然而,缺少一些信息。

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

1 个答案:

答案 0 :(得分:5)

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

1。)检查配置文件正在扩展lint.xml,因此lint.xml规则的数量小于检查配置文件规则的数量。 可以找到当前的lint.xml规则集here

2。)当您定义了lint.xml后,在Android Studio中您可以转到 File =>设置=>编辑=>检查并使用 Manage =>将下拉列表导入lint.xml。这将设置lint.xml外的所有规则都被停用。

我不知道从InspectionProfile转换为lint.xml的任何方式。

3。)参见1.),Inspection Profile正在扩展lint.xml。

4。)由于检查配置文件是本地使用的,在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 中的所有其他文件置于忽略状态。有一篇关于这个主题的文章我再也找不到了,但是这个解决方案对我的团队来说就像一个魅力。