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

首次构建Flutter APK遇Kotlin版本不兼容等编译错误求助

Flutter构建APK时Kotlin版本不兼容问题解决方法

问题概述

构建APK时出现两类问题:一是Cloud Firestore相关的未检查操作/废弃API警告,二是核心的Kotlin版本不兼容错误——依赖库用Kotlin 1.8编译,但项目预期1.6版本,直接导致构建失败。

错误日志:

注意:C:\Users\emree\AppData\Local\Pub\Cache\hosted\pub.dev\cloud_firestore-4.8.2\android\src\main\java\io\flutter\plugins\firebase\firestore\FlutterFirebaseFirestoreMessageCodec.java 使用了未检查或不安全的操作。
注意:使用 -Xlint:unchecked 重新编译以获取详细信息。
注意:部分输入文件使用或覆盖了已废弃的API。
注意:使用 -Xlint:deprecation 重新编译以获取详细信息。
注意:部分输入文件使用了未检查或不安全的操作。
注意:使用 -Xlint:unchecked 重新编译以获取详细信息。

错误:C:/Users/emree/.gradle/caches/transforms-3/72df06c27832244e71a8d7932e11da7a/transformed/jetified-activity-1.7.2/jars/classes.jar!/META-INF/activity_release.kotlin_module:模块使用不兼容的Kotlin版本编译。其元数据的二进制版本为1.8.0,预期版本为1.6.0。
错误:C:/Users/emree/.gradle/caches/transforms-3/33d3003110b9f0c6d9e3287deb0d08ba/transformed/lifecycle-livedata-2.6.1/jars/classes.jar!/META-INF/lifecycle-livedata_release.kotlin_module:模块使用不兼容的Kotlin版本编译。其元数据的二进制版本为1.8.0,预期版本为1.6.0。
错误:C:/Users/emree/.gradle/caches/transforms-3/5ed0c64b8ae75bc697a28e51473932ba/transformed/lifecycle-viewmodel-2.6.1/jars/classes.jar!/META-INF/lifecycle-viewmodel_release.kotlin_module:模块使用不兼容的Kotlin版本编译。其元数据的二进制版本为1.8.0,预期版本为1.6.0。
错误:C:/Users/emree/.gradle/caches/transforms-3/1e2b255d05f5b0445af115aded5dad98/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。
错误:C:/Users/emree/.gradle/caches/transforms-3/2d0e4d85d0a8f074d6dc8af837bae271/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。
错误:C:/Users/emree/.gradle/caches/transforms-3/f050be65d5fee3c4f04961b330574447/transformed/jetified-core-ktx-1.10.1/jars/classes.jar!/META-INF/core-ktx_release.kotlin_module:模块使用不兼容的Kotlin版本编译。其元数据的二进制版本为1.8.0,预期版本为1.6.0。
错误:C:/Users/emree/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.8.22/636bf8b320e7627482771bbac9ed7246773c02bd/kotlin-stdlib-1.8.22.jar!/META-INF/kotlin-stdlib-jdk7.kotlin_module:模块使用不兼容的Kotlin版本编译。其元数据的二进制版本为1.8.0,预期版本为1.6.0。
错误:C:/Users/emree/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.8.22/636bf8b320e7627482771bbac9ed7246773c02bd/kotlin-stdlib-1.8.22.jar!/META-INF/kotlin-stdlib.kotlin_module:模块使用不兼容的Kotlin版本编译。其元数据的二进制版本为1.8.0,预期版本为1.6.0。
错误:C:/Users/emree/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.8.22/636bf8b320e7627482771bbac9ed7246773c02bd/kotlin-stdlib-1.8.22.jar!/META-INF/kotlin-stdlib-jdk8.kotlin_module:模块使用不兼容的Kotlin版本编译。其元数据的二进制版本为1.8.0,预期版本为1.6.0。
错误:C:/Users/emree/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-common/1.8.22/1a8e3601703ae14bb58757ea6b2d8e8e5935a586/kotlin-stdlib-common-1.8.22.jar!/META-INF/kotlin-stdlib-common.kotlin_module:模块使用不兼容的Kotlin版本编译。其元数据的二进制版本为1.8.0,预期版本为1.6.0。

解决步骤

1. 统一项目Kotlin版本

打开项目根目录下的android/build.gradle文件,找到buildscript块中的ext.kotlin_version,将其修改为与依赖库一致的1.8.22:

buildscript {
    ext.kotlin_version = '1.8.22'
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        // 确保Gradle插件版本与Kotlin兼容,7.4.2适配Kotlin 1.8.x
        classpath "com.android.tools.build:gradle:7.4.2"
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

修改后执行flutter pub get同步项目。

2. 清理缓存并重新构建

执行以下命令彻底清理缓存并重新构建:

flutter clean
# Windows用户替换为:rmdir /s /q .android .gradle
rm -rf .android .gradle
flutter pub get
flutter build apk

3. 处理Cloud Firestore警告(可选)

这些警告不影响构建成功,若要消除:

  • 在pubspec.yaml中更新cloud_firestore到最新兼容版本,例如:
    dependencies:
      cloud_firestore: ^4.17.1
    
  • 执行flutter pub get更新依赖

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 11:27:49