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

如何将Android Library依赖添加到Kotlin模块?解决依赖解析失败问题

问题分析与解决方案

你遇到的Could not resolve project :androidlibrary本质是纯Kotlin JVM模块(java-library/kotlin.jvm插件)无法直接依赖Android Library模块,原因是Android Library依赖Android SDK特有的API、资源系统,而纯JVM模块的编译/运行环境是标准JVM,不包含Android相关依赖,两者平台不兼容。

下面分两种场景给出可行方案:

场景1:你的Kotlin模块本就应该是Android模块

如果这个Kotlin模块实际是Android项目的一部分(比如是一个Android库或应用模块),只是错误使用了纯JVM插件,只需修改模块的build.gradle插件配置:

plugins {
    // 替换成Android库或应用插件,二选一
    id 'com.android.library' // 若为Android库模块
    // id 'com.android.application' // 若为Android应用模块
    id 'org.jetbrains.kotlin.android'
}

android {
    compileSdk 34 // 根据你的项目配置调整版本
    defaultConfig {
        minSdk 21 // 按需调整
    }
}

java {
    sourceCompatibility = JavaVersion.VERSION_1_8 // 建议升级到1.8及以上,1.7已过时
    targetCompatibility = JavaVersion.VERSION_1_8
}

dependencies {
    implementation(project(":androidlibrary"))
}

修改后同步Gradle,依赖即可正常解析。

场景2:Kotlin模块必须保持纯JVM类型

如果这个Kotlin模块需要保持纯JVM环境(比如用于跨平台共享、非Android工具类等),需要重构代码:

  • 新建一个纯Kotlin JVM模块(使用java-library+kotlin.jvm插件),将Android Library中不依赖Android SDK的通用代码(比如工具类、业务逻辑模型等)迁移到这个新模块。
  • 让原Android Library模块依赖这个新的纯JVM模块:
    // Android Library的build.gradle
    dependencies {
        implementation(project(":common-jvm-module"))
    }
    
  • 让你的Kotlin JVM模块也依赖这个新的纯JVM模块:
    // 原Kotlin JVM模块的build.gradle
    dependencies {
        implementation(project(":common-jvm-module"))
    }
    

这样既实现了代码共享,又避免了纯JVM模块直接依赖Android平台的模块。

额外检查项

如果以上方案仍有问题,先确认两个基础配置:

  • 项目根目录的settings.gradle中是否包含两个模块:
    include(":androidlibrary")
    include(":your-kotlin-module-name") // 替换为你的Kotlin模块名称
    
  • 模块名称是否正确,确保implementation(project(":androidlibrary"))中的模块名和settings.gradle里的一致(注意大小写、拼写)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 19:16:03