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

Flutter编译报错:Kotlin Gradle插件版本不兼容问题求助

Flutter Android构建Kotlin版本不兼容问题(来自自定义包dynamic_views)

问题描述

构建Android端时出现以下错误:

.gradle/caches/transforms-3/431ce31617111116ed092b20fb775fda/transformed/jetified-kotlin-stdlib-1.9.0.jar!/META-INF/kotlin-stdlib-jdk7.kotlin_module: Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.9.0, expected version is 1.7.1.

已尝试的方案:

  • 添加依赖约束:
dependencies {
    constraints {
        implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.0") {
            because("kotlin-stdlib-jdk7 is now a part of kotlin-stdlib")
        }
        implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0") {
            because("kotlin-stdlib-jdk8 is now a part of kotlin-stdlib")
        }
      }
    }
  • 修改项目级build.gradle的Kotlin版本:
buildscript {
    ext.kotlin_version = '1.9.10'
    repositories {
        google()
        mavenCentral()
     }

    }

allprojects {
    repositories {
        google()
        mavenCentral()
    }
}

排查确认错误来自自定义包dynamic_views,移除该包后构建正常。该包无Android专属代码,其pubspec.yaml内容如下:

name: dynamic_views
description: "A new Flutter package project."
version: 0.0.1
homepage:

environment:
  sdk: '>=3.4.1 <4.0.0'
  flutter: ">=1.17.0"

dependencies:
  cached_network_image: ^3.3.1
  carousel_slider: ^4.2.1
  easy_debouncer: ^0.0.2
  fl_chart: ^0.68.0
  flutter:
    sdk: flutter
  flutter_animate: ^4.5.0
  flutter_riverpod: ^2.5.1
  geekyants_flutter_gauges: ^1.0.4
  geolocator: ^12.0.0
  google_maps_flutter: ^2.6.1
  iconsax: ^0.0.8
  image_picker: ^1.1.1
  intl: ^0.19.0
  lottie: ^3.1.2
  mobile_scanner: ^5.1.1
  pie_chart: ^5.4.0


dev_dependencies:
  flutter_test:
    sdk: flutter
  flutter_lints: ^4.0.0

注:iOS端构建完全正常。


解决方案

1. 强制统一所有依赖的Kotlin版本

在项目级build.gradle的allprojects块中添加版本强制约束,确保所有依赖都使用指定的Kotlin版本:

allprojects {
    repositories {
        google()
        mavenCentral()
    }
    configurations.all {
        resolutionStrategy {
            force "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.9.10"
            force "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.10"
            force "org.jetbrains.kotlin:kotlin-stdlib:1.9.10"
            force "org.jetbrains.kotlin:kotlin-stdlib-common:1.9.10"
        }
    }
}

2. 定位冲突依赖来源

运行以下命令生成依赖树,找出引入Kotlin 1.9.0版本的具体依赖:

./gradlew app:dependencies

搜索kotlin-stdlib相关条目,定位到冲突依赖后,可针对性地添加force约束。

3. 同步Flutter SDK与Kotlin版本兼容性

确保Flutter SDK版本与Kotlin版本匹配,Flutter 3.10+推荐使用Kotlin 1.8.0+。执行以下命令升级SDK:

flutter upgrade

升级后重新同步项目。

4. 清理Gradle缓存

缓存可能导致版本残留,执行以下命令清理:

./gradlew cleanBuildCache
rm -rf ~/.gradle/caches/

清理完成后重新构建项目。

5. 检查模块级Kotlin插件版本

确保android/app/build.gradle中的Kotlin插件版本与项目级定义一致,避免手动指定其他版本:

plugins {
    id 'com.android.application'
    id 'kotlin-android'
    id 'dev.flutter.flutter-gradle-plugin'
}

内容的提问来源于stack exchange,提问作者نعمان منذر محمود الجميلي

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 22:35:19