You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Gradle与AGP升级后Flutter项目构建失败:无法找到kotlin-stdlib-jdk11:2.2.0

Gradle与AGP升级后Flutter项目构建失败:无法找到kotlin-stdlib-jdk11:2.2.0

看起来你遇到了Kotlin版本依赖冲突+网络访问限制的双重问题,我来帮你一步步拆解解决:

问题核心分析

你在app/build.gradle.kts里指定了Kotlin标准库版本为2.0.20,但构建时Gradle却尝试拉取2.2.0版本——这大概率是因为settings.gradle里配置的Kotlin插件版本(2.2.10)与标准库版本不匹配,Gradle自动尝试对齐版本,但2.2.0这个版本其实并不存在(Kotlin最新稳定版是2.2.10,没有2.2.0);再加上你所在地区的网络限制,导致无法获取依赖触发404。

接下来是具体的解决方案:

1. 对齐Kotlin插件与标准库版本

Kotlin插件和标准库的版本必须保持一致,否则很容易出现依赖冲突。你settings.gradle里用的是2.2.10的Kotlin插件,所以把app/build.gradle.kts里的标准库版本改成2.2.10:

dependencies {
    implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk11:2.2.10")
    // 其他依赖保持不变
}

2. 全局强制指定Kotlin版本约束

为了避免Gradle自动升级依赖版本,你可以在项目根目录的settings.gradle.kts里添加版本约束,确保所有模块都使用统一的Kotlin版本:

pluginManagement {
    plugins {
        // 你的现有插件配置...
    }
    resolutionStrategy {
        eachPlugin {
            if (requested.id.namespace == "org.jetbrains.kotlin") {
                useVersion("2.2.10")
            }
        }
    }
}

dependencyResolutionManagement {
    repositories {
        // 你的现有仓库配置...
    }
    versionCatalogs {
        create("libs") {
            version("kotlin", "2.2.10")
            library("kotlin-stdlib-jdk11", "org.jetbrains.kotlin", "kotlin-stdlib-jdk11").versionRef("kotlin")
        }
    }
}

这样就能强制所有依赖使用2.2.10版本的Kotlin库,不会再出现自动找2.2.0的情况。

3. 添加国内Maven镜像解决网络问题

由于地区网络限制,官方Maven仓库访问不畅,你可以在settings.gradle.ktsdependencyResolutionManagement里添加国内镜像,比如阿里云镜像:

dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        maven("https://maven.aliyun.com/repository/google")
        maven("https://maven.aliyun.com/repository/public")
        maven("https://maven.aliyun.com/repository/gradle-plugin")
        google()
        mavenCentral()
        flutter()
    }
}

把阿里云镜像放在官方仓库前面,这样Gradle会优先从镜像仓库拉取依赖,解决404问题。

4. 清理Gradle缓存并重试

有时候本地缓存的错误依赖会导致问题,执行以下命令清理缓存:

# 清理Gradle缓存并重新构建
./gradlew clean build --refresh-dependencies

如果是Windows系统,用:

gradlew clean build --refresh-dependencies

额外检查点

  • 确认你的Android Studio bundled JDK是11以上(你用的是21,没问题),Kotlin 2.2.x对JDK版本的兼容性是OK的。
  • 运行flutter doctor检查Flutter环境配置,你的Flutter 3.35.1和Kotlin 2.2.10是兼容的。

按照这些步骤操作后,应该能解决构建失败的问题。

内容来源于stack exchange

火山引擎 最新活动