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

KMM库引入报错:未找到匹配的io.github.abhriyaroy:KCrypt:0.0.1变体

问题分析与解决建议

问题根源

从错误日志可以明确看出:你的KCrypt库仅发布了iOS系列的Native平台变体(iosArm64、iosX64、iosSimulatorArm64)以及Common元数据变体,完全没有生成并发布Android(androidJvm)平台的对应变体。当Android端项目尝试依赖该库时,Gradle找不到匹配androidJvm平台类型的构件,因此抛出依赖解析失败的错误。

解决步骤

1. 补全KMM库的Android目标配置

打开KCrypt库项目的build.gradle.kts(或build.gradle)文件,检查kotlin块是否包含Android目标声明:

kotlin {
    // 必须添加这一行,启用Android平台目标
    android()
    
    iosX64()
    iosArm64()
    iosSimulatorArm64()

    sourceSets {
        val commonMain by getting
        val androidMain by getting
        val iosX64Main by getting
        val iosArm64Main by getting
        val iosSimulatorArm64Main by getting
        // 其他sourceSet配置...
    }
}

如果之前缺失android(),添加后同步项目,确保Android相关的源码集和构建任务正常生成。

2. 验证发布配置覆盖所有平台

如果你使用maven-publish插件发布,KMM默认会自动配置所有平台的构件发布,但如果有自定义的发布逻辑,需确认Android变体被包含在内:

  • 运行本地发布任务./gradlew publishToMavenLocal
  • 查看本地Maven仓库(默认路径~/.m2/repository/io/github/abhriyaroy/KCrypt/)下的构件,确认存在android相关的目录和aar/jar文件。

3. 重新发布到Maven中央仓库

修正配置后,重新执行完整的发布流程:

  • 建议发布新版本(比如0.0.2),避免缓存问题
  • 发布完成后,在Maven中央仓库确认构件详情中包含androidJvm平台的变体

4. 测试依赖解析

在示例项目的shared模块中替换为新版本的依赖:

sourceSets {
    val commonMain by getting {
        dependencies {
            implementation("io.github.abhriyaroy:KCrypt:0.0.2")
        }
    }
    // 其他配置...
}

同步Gradle项目,验证依赖解析是否正常完成。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 17:12:52