【问题标题】:android lint unused resources from library module are used in appandroid lint 库模块中未使用的资源在应用程序中使用
【发布时间】:2015-12-11 12:07:33
【问题描述】:

我的应用分为主应用和不同的库模块。 当我跑步时

./gradlew lint 

独立检查每个模块,并为每个模块生成一个 lint.xml 文件。在 lint.xml 文件中有大量未使用的资源警告,但这些资源在主应用程序中使用。 如何配置 lint 以在应用中全局检查资源是否被使用?

谢谢:)

【问题讨论】:

  • 您找到解决此问题的方法了吗?我也面临同样的问题。
  • 不,但我认为可以,单独检查每个模块。当您的资产仅在主模块中使用时,您必须将它们移动到主模块。
  • 感谢您的回复。我的资源位于一个通用模块中,并且在多个其他模块中使用。所以我不能把它移到这些模块之一。
  • 是的,这仍然是一个问题。令人惊讶的是没有一个好的方法来处理这个......

标签: android android-gradle-plugin build.gradle lint


【解决方案1】:

这是 Lint 中最常见的问题。 Lint 可能不会检查 XML 文件夹、自定义视图以及 assets 文件夹中使用的资源。要配置 lint,我可以建议您使用此链接

  1. https://developer.android.com/studio/build/gradle-tips.html

  2. http://tools.android.com/tips/lint

  3. https://developer.android.com/studio/write/lint.html

【讨论】:

  • 对不起,但这不是一个实际的答案。如果您知道如何配置 Lint 以避免这些误报,请将其包含在您的答案中(即使链接的文档包含信息)。
【解决方案2】:

诀窍是只通过那里递归地检查您的应用程序组件和应用程序的其余部分:

启用递归 lint 检查

android {
    lintOptions {
        checkDependencies true
    }
}

仅检查应用

./gradlew :app:lintDebug

这不仅可以解决未使用的资源问题,而且速度更快,因为 lint 只调用一次,而不是每个模块调用一次。这意味着 SDK 中的符号解析等操作只执行一次。

【讨论】:

    猜你喜欢
    • 2017-12-10
    • 1970-01-01
    • 2014-06-09
    • 2020-10-28
    • 1970-01-01
    • 2012-04-20
    • 1970-01-01
    • 1970-01-01
    • 2020-09-23
    相关资源
    最近更新 更多