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

Kotlin Multiplatform项目无法解析co.touchlab:kermit警告如何解决

解决方案

你遇到的警告本质是IDE或Gradle在解析Android变体的依赖索引时出现的异常,由于项目整体可正常构建,说明kermit依赖实际已成功拉取,按以下步骤操作即可消除警告:

  • 检查全局仓库配置
    确认根目录构建文件的allprojects/dependencyResolutionManagement块的repositories配置已添加mavenCentral,kermit的正式版本全量托管在mavenCentral,需保证测试、AndroidTest等所有源码集的仓库配置一致,不可仅给主源码集单独配置仓库:
// 以build.gradle.kts为例,Groovy写法对应调整即可
dependencyResolutionManagement {
    repositories {
        mavenCentral()
    }
}
  • 修正KMP项目的依赖声明
    不要给Android源集单独声明kermit依赖,统一在commonMain源码集添加依赖即可,kermit已适配KMP元数据发布规则,会自动匹配对应平台的依赖包:
kotlin {
    sourceSets {
        val commonMain by getting {
            dependencies {
                implementation("co.touchlab:kermit:1.0.2")
            }
        }
        // 其余源码集配置无需改动
    }
}
  • 清理缓存重启同步
    绝大多数此类警告都是Android Studio的索引缓存异常导致,按顺序执行以下操作即可:
  1. 点击顶部菜单栏 File -> Invalidate Caches...,勾选清理文件缓存选项后重启IDE
  2. 重启完成后触发一次Gradle全量同步,再执行./gradlew clean清理旧构建产物
  • 配置构建变体回退规则
    如果你给Android模块自定义了特殊构建变体,可添加变体匹配回退规则避免找不到对应变体的依赖:
android {
    buildTypes {
        debug {
            matchingFallbacks += "release"
        }
    }
}

如果执行以上操作后警告仍然存在但构建完全正常,属于旧版Android Studio对KMP依赖的索引兼容bug,升级Android Studio到Flamingo及以上版本即可彻底修复。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 14:24:01