You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android中libs.versions.toml误报约定插件依赖未使用的解决办法

解决libs.versions.toml中约定插件依赖被标记“未使用”的问题

原因

Android Studio(或JetBrains系列IDE)的静态代码分析无法自动追踪build-logic模块里约定插件对libs.versions.toml依赖的引用,因此误判这些依赖未被使用。

解决方案

1. 用类型安全访问器替代findLibrary()

把插件里libs.findLibrary("xxx").get()的写法换成Gradle自动生成的类型安全访问器,IDE能直接识别这类引用:

// 替换前
val bom = libs.findLibrary("compose-bom").get()
// 替换后(需确保libs.versions.toml中依赖命名符合驼峰规则,比如compose-bom对应compose.bom)
val bom = libs.compose.bom

修改后的Compose约定插件代码示例:

dependencies {
    val bom = libs.compose.bom
    add("api", platform(bom))
    add("androidTestImplementation", platform(bom))
    add("api", libs.compose.preview)
    add("debugApi", libs.compose.tooling)
}

2. 给未识别的依赖添加注释标记

在libs.versions.toml中,给被误标未使用的依赖加上# used-in: build-logic注释,部分IDE会识别该标记并取消高亮:

[versions]
agp = "8.2.2"
kotlin = "1.9.20"
compose = "2.1.4"

[libraries]
compose-bom = { module = "androidx.compose:compose-bom", version.ref = "compose" }
compose-preview = { module = "androidx.compose.ui:ui-preview", version.ref = "compose" }
compose-tooling = { module = "androidx.compose.ui:ui-tooling", version.ref = "compose" }
# used-in: build-logic
agp = { module = "com.android.tools.build:gradle", version.ref = "agp" }
# used-in: build-logic
kotlin-plugin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" }

3. 调整IDE的检查规则

如果前两种方法无效,可直接修改IDE的未使用依赖检测范围:

  • 打开Settings → Editor → Inspections → Kotlin → Unused declaration
  • 找到Unused library dependency from version catalog选项
  • 点击Configure,把build-logic模块路径加入排除列表,或者缩小检测范围,排除build-logic下的脚本。

4. 强制刷新Gradle项目

偶尔IDE缓存会导致识别异常,执行File → Sync Project with Gradle Files或点击工具栏的刷新按钮,重新同步项目后可能解决标记问题。

内容的提问来源于stack exchange,提问作者Hector

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 09:51:09