执行flutter build apk --release时出现Kotlin版本不兼容错误
执行flutter build apk --release命令打包时,会出现如下版本不兼容错误:
e: C:/Users/Mert/Desktop/isg_yeni/isg/build/sensors_plus/.transforms/850bf5b7a09199329b383f74fe33a0fc/transformed/out/jars/classes.jar!/META-INF/sensors_plus_release.kotlin_module: 模块使用不兼容的Kotlin版本编译。其元数据的二进制版本为1.9.0,预期版本为1.6.0。
e: C:/Users/Mert/Desktop/isg_yeni/isg/build/share_plus/.transforms/738a704c1196ddd6d9f00fc45e444923/transformed/out/jars/classes.jar!/META-INF/share_plus_release.kotlin_module: 模块使用不兼容的Kotlin版本编译。其元数据的二进制版本为1.9.0,预期版本为1.6.0。
e: C:/Users/Mert/.gradle/caches/transforms-3/ed354497fa2c673eab69beae667a9b99/transformed/jetified-activity-1.7.2/jars/classes.jar!/META-INF/activity_release.kotlin_module: 模块使用不兼容的Kotlin版本编译。其元数据的二进制版本为1.8.0,预期版本为1.6.0。
e: C:/Users/Mert/.gradle/caches/transforms-3/40e78fa6fa60bb3dcae93e8b1ce197e9/transformed/lifecycle-livedata-2.6.1/jars/classes.jar!/META-INF/lifecycle-livedata_release.kotlin_module: 模块使用不兼容的Kotlin版本编译。其元数据的二进制版本为1.8.0,预期版本为1.6.0。
e: C:/Users/Mert/.gradle/caches/transforms-3/77a0c98133178853d799635ee4a20e81/transformed/lifecycle-viewmodel-2.6.1/jars/classes.jar!/META-INF/lifecycle-viewmodel_release.kotlin_module: 模块使用不兼容的Kotlin版本编译。其元数据的二进制版本为1.8.0,预期版本为1.6.0。
e: C:/Users/Mert/.gradle/caches/transforms-3/d6680c3721692dc4a9fb42dbecaa2262/transformed/lifecycle-livedata-core-2.6.1/jars/classes.jar!/META-INF/lifecycle-livedata-core_release.kotlin_module: 模块使用不兼容的Kotlin版本编译。其元数据的二进制版本为1.8.0,预期版本为1.6.0。
e: C:/Users/Mert/.gradle/caches/transforms-3/8ae031f1d0da2125f68c17d76f9088e5/transformed/jetified-lifecycle-viewmodel-savedstate-2.6.1/jars/classes.jar!/META-INF/lifecycle-viewmodel-savedstate_release.kotlin_module: 模块使用不兼容的Kotlin版本编译。其元数据的二进制版本为1.8.0,预期版本为1.6.0。
e: C:/Users/Mert/.gradle/caches/transforms-3/fb73caa49f1892fee8d409818e83296f/transformed/jetified-core-ktx-1.10.1/jars/classes.jar!/META-INF/core-ktx_release.kotlin_module: 模块使用不兼容的Kotlin版本编译。其元数据的二进制版本为1.8.0,预期版本为1.6.0。
e: C:/Users/Mert/.gradle/caches/transforms-3/f2c1b21e2617b8adc4232d8977a76481/transformed/core-1.10.1/jars/classes.jar!/META-INF/core_release.kotlin_module: 模块使用不兼容的Kotlin版本编译。其元数据的二进制版本为1.8.0,预期版本为1.6.0。
e: C:/Users/Mert/.gradle/caches/transforms-3/ca5afb2fabe5b1e390fd5c06c8f1bc5d/transformed/lifecycle-runtime-2.6.1/jars/classes.jar!/META-INF/lifecycle-runtime_release.kotlin_module: 模块使用不兼容的Kotlin版本编译。其元数据的二进制版本为1.8.0,预期版本为1.6.0。
e: C:/Users/Mert/.gradle/caches/modules-2/files-2.1/androidx.lifecycle/lifecycle-common/2.6.1/10f354fdb64868baecd67128560c5a0d6312c495/lifecycle-common-2.6.1.jar!/META-INF/lifecycle-common.kotlin_module: 模块使用不兼容的Kotlin版本编译。其元数据的二进制版本为1.8.0,预期版本为1.6.0。
e: C:/Users/Mert/.gradle/caches/transforms-3/f62a687ef6392077f061d3a97cabe81c/transformed/jetified-savedstate-1.2.1/jars/classes.jar!/META-INF/savedstate_release.kotlin_module: 模块使用不兼容的Kotlin版本编译。其元数据的二进制版本为1.8.0,预期版本为1.6.0。
e: C:/Users/Mert/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.9.20/e58b4816ac517e9cc5df1db051120c63d4cde669/kotlin-stdlib-1.9.20.jar!/META-INF/kotlin-stdlib.kotlin_module: 模块使用不兼容的Kotlin版本编译。其元数据的二进制版本为1.9.0,预期版本为1.6.0。
e: C:/Users/Mert/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.9.20/e58b4816ac517e9cc5df1db051120c63d4cde669/kotlin-stdlib-1.9.20.jar!/META-INF/kotlin-stdlib-jdk8.kotlin_module: 模块使用不兼容的Kotlin版本编译。其元数据的二进制版本为1.9.0,预期版本为1.6.0。
e: C:/Users/Mert/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.9.20/e58b4816ac517e9cc5df1db051120c63d4cde669/kotlin-stdlib-1.9.20.jar!/META-INF/kotlin-stdlib-jdk7.kotlin_module: 模块使用不兼容的Kotlin版本编译。其元数据的二进制版本为1.9.0,预期版本为1.6.0。
问题原因
项目配置的Kotlin版本(1.6.0)过低,而引入的第三方插件(如sensors_plus、share_plus)以及AndroidX核心库(如lifecycle系列)已经使用更高版本的Kotlin(1.8.0/1.9.0)编译,导致版本不匹配。
解决步骤
更新项目Kotlin版本
打开项目根目录下的android/build.gradle文件,找到ext.kotlin_version的配置行,将版本号修改为1.9.0(与依赖库的最高版本匹配):buildscript { ext.kotlin_version = '1.9.0' repositories { google() mavenCentral() } // 其余代码保持不变 }清理缓存并重新构建
依次执行以下命令,清除旧的构建缓存和依赖:flutter clean # Windows用户可手动删除android/.gradle、android/build目录,或执行: # rmdir /s /q android\.gradle android\build flutter pub get flutter build apk --release升级Flutter插件版本
打开pubspec.yaml文件,执行flutter pub upgrade命令,将所有第三方插件升级到最新版本,确保插件与新的Kotlin版本兼容。
内容的提问来源于stack exchange,提问作者Mert Desticioğlu

