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

构建KMM项目后原AGP 8.0.2项目无法编译的问题求助

问题分析与解决方案

问题本质

io.ktor:ktor-client-darwin:2.3.1是仅适配苹果平台(iOS/macOS等)的依赖,Android环境下不存在对应的编译变体,因此会出现解析失败。问题源于打开KMM示例项目后,Gradle缓存或配置被污染,导致项目A的KMM共享模块错误地将该依赖引入了Android编译路径。

解决步骤

1. 修正共享模块的依赖配置

打开项目A的shared/build.gradle.kts(或Groovy版build.gradle),确保ktor-client-darwin仅在苹果平台源集中声明,Android源集使用对应平台的Ktor依赖:

sourceSets {
    // 苹果平台源集(以iOS为例)
    val iosMain by getting {
        dependencies {
            implementation("io.ktor:ktor-client-darwin:2.3.1")
        }
    }
    // Android平台源集
    val androidMain by getting {
        dependencies {
            // 使用Android端专用的Ktor客户端依赖
            implementation("io.ktor:ktor-client-android:2.3.1")
        }
    }
}

2. 彻底清理Gradle缓存

执行以下命令清理项目缓存并强制重新构建:

# macOS/Linux
./gradlew clean build --no-build-cache

# Windows
gradlew.bat clean build --no-build-cache

也可以手动删除全局Gradle缓存目录:

  • macOS/Linux: ~/.gradle/caches
  • Windows: C:\Users\<你的用户名>\.gradle\caches

3. 重新同步项目

在Android Studio中点击File -> Sync Project with Gradle Files,确保配置同步生效。

4. 确认AGP与Kotlin版本兼容

AGP 8.0.2需要搭配Kotlin 1.8.20及以上版本,检查项目根目录的build.gradle.kts:

plugins {
    id("com.android.application") version "8.0.2" apply false
    id("org.jetbrains.kotlin.android") version "1.8.20" apply false
    id("org.jetbrains.kotlin.multiplatform") version "1.8.20" apply false
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 04:46:57