【问题标题】:Context of lint.xml and inspection profilelint.xml 和检查配置文件的上下文
【发布时间】:2017-08-03 07:59:46
【问题描述】:

在 Android Studio 中有 lint.xml 配置和 ./idea/inspectionProfiles/.xml 可通过 Settings => Editor => Inspections 进行管理时间>。我了解 lint.xml 由 lint 命令行工具使用,而检查配置文件由 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. 除了上面提到的情况(例如提交分析)之外,还有哪一个被执行?

【问题讨论】:

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


    【解决方案1】:

    我可以总结一下我目前的研究。

    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.),Inspection Profile 正在扩展 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 中忽略。有一篇关于这个主题的文章我再也找不到了,但这个解决方案对我的团队来说就像一个魅力。

    【讨论】:

      猜你喜欢
      • 2014-05-16
      • 2016-04-26
      • 1970-01-01
      • 1970-01-01
      • 2016-08-17
      • 1970-01-01
      • 1970-01-01
      • 2015-07-09
      • 1970-01-01
      相关资源
      最近更新 更多