Android Studio的Lint检查:不必要的模块依赖

24
当对项目中的文件进行 Lint 检查时,我经常会遇到以下类似的错误(文件的实际名称已被省略,但您可以理解意思):
“模块 'name_of_my_project' 对模块 'some_3rd_party_library' 的依赖可能应该被删除,当且仅当文件 'filepath_to_the_class_being_analyzed' 的补充范围也不包含对模块 'some_3rd_party_library' 的引用。”
如果没有使用 Gradle 编译的每个库(即作为整体导入到项目中然后添加为依赖项的库),都会出现此错误。
Facebook 是一个很好的例子。即使您想通过 Gradle 编译它,也无法做到,因为他们不支持这样做,而您需要将其作为本地库运行。看来,您将为每个不直接调用 Facebook 的类收到此“不必要的模块依赖”警告。
那么,问题是 - 处理此错误的“正确”方法是什么?我应该忽略它还是需要以某种方式更改代码才能使其消失?
编辑:在 Lint 的首选项菜单中,如果有助于弄清楚,请按照以下方式描述检查:
“此检查列出包含其他模块冗余依赖项的模块。这些依赖项可以安全地删除。”

1
我只是忽略它 :P Android Studio的检查功能总是充满垃圾。但如果有人提出解决方案,我也会非常感兴趣 :) - ThanosFisherman
2个回答

1
有关Lint检查器的已知问题。我在Android Studio 2.1.1中没有收到此错误。但是,如果您仍然遇到此问题并且知道它是虚假的,请建议前往“设置”-->“编辑器”-->“检查”-->“不必要的模块依赖项”,并将严重程度类型从警告更改为信息。这样,您就可以获得“干净的lint构建”,避免由于错误的lint算法而导致的“破窗效应”状态。实际上,我创建了一个特殊类别,其信息严重性称为由于错误的Lint算法而导致的信息,其中分配了任何我知道的虚假内容。这样,我就可以定期查看它们是否已经修复。

顺便说一句,您应该向他们报告此问题,以便有希望解决它...祝你好运!


0
您可以使用以下代码块避免进行lint检查。 将以下代码块添加到app build.gradle文件中的android {}内 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" }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接