【问题标题】:Android Studio Lint check for Unnecessary Module DependencyAndroid Studio Lint 检查不必要的模块依赖
【发布时间】:2015-04-23 20:10:36
【问题描述】:

在我的项目中对文件运行 Lint 检查时,我经常遇到如下错误(文件的实际名称已编辑,但您会明白的):

模块“name_of_my_project”对模块的依赖 'some_3rd_party_library' 可能会在以下情况下被删除 '文件'filepath_to_the_class_being_analyzed'的补充范围 也不包含对模块“some_3rd_party_library”的引用

对于每个未使用 Gradle 编译的库,我都会收到此错误 - 即 已将整个库导入到项目中然后作为依赖项添加的库。

Facebook 是一个很好的库示例,即使你想通过 Gradle 编译它,你也不能,因为他们不支持它,你需要将它作为本地库运行 - 看起来像你'然后会为每个不直接调用 Facebook 的类收到这个“不必要的模块依赖”警告。

那么,问题是 - 处理此错误的“正确”方式是什么?我应该忽略它还是应该以某种方式更改代码以使其消失?

编辑:在 Lint 的首选项菜单中,它对检查的描述如下(以防这有助于弄清楚):

此检查列出了包含冗余依赖项的模块 其他模块。可以安全地删除这些依赖项。

【问题讨论】:

  • 我只是忽略它 :P Android 工作室检查无论如何都是废话。但是,如果有人提出解决方案,我也会很想知道:)

标签: intellij-idea android-studio module dependencies lint


【解决方案1】:

您可以使用以下代码块来避免 lint 检查。 将以下代码块添加到 android {}

内的 app build.gradle 文件中

lintOptions { checkReleaseBuilds false // set to true to turn off analysis progress reporting by lint quiet true // if true, only report errors ignoreWarnings true abortOnError false disable "ResourceType" }

【讨论】:

    【解决方案2】:

    Lint 检查程序存在已知问题。我在 Android Studio 2.1.1 中没有收到此错误。但是,如果您仍然这样做并且您知道它是虚假的,我建议您转到 Settings --> Editor --> Inspections --> Unnecessary Module Dependency 并将 Severity 类型从 Warning 更改为 Info。通过这种方式,您可以获得“干净的 lint 构建”并避免由于错误的 lint 算法而导致的“破窗”类型的状态。事实上,我已经创建了一个特殊的类别,它具有名为Info Due To Bad Lint Algo 的信息严重性,我已经分配了我知道是虚假的任何内容。这样我就可以定期检查这些问题,看看它们是否已修复。

    顺便说一句,你应该向他们报告这个问题,所以它有一些修复的希望......祝你好运!

    【讨论】:

      猜你喜欢
      • 2015-07-03
      • 1970-01-01
      • 2023-04-04
      • 2018-06-08
      • 1970-01-01
      • 1970-01-01
      • 2014-12-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多