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

Flutter项目修改Kotlin版本后compileSdkVersion异常变为29如何解决

问题原因说明

你遇到的compileSdkVersion被识别为29的问题,和升级Kotlin版本没有直接关联。报错的主体不是你主项目的app模块,是你引入的第三方Flutter插件(本次报错为google_maps_flutter)模块:这类第三方插件自带的安卓构建配置里,默认设置的compileSdkVersion为29,和你主项目设置的31互不影响,但你的依赖项androidx.window:window-java:1.0.0-beta04要求最低编译SDK为31,因此编译插件模块时会触发校验失败。升级Kotlin后触发了全量重新编译,才让这个之前没暴露的问题显现出来。

解决方案

按以下步骤操作即可解决:

  1. 强制统一所有子模块的编译SDK版本
    打开项目根目录下的android/build.gradle文件,修改subprojects配置块,新增全局覆盖子模块编译SDK的逻辑:
    subprojects {
        project.buildDir = "${rootProject.buildDir}/${project.name}"
        project.evaluationDependsOn(':app')
        // 新增以下配置,强制所有安卓子模块使用统一的编译SDK版本
        afterEvaluate { project ->
            if (project.hasProperty("android")) {
                android {
                    compileSdkVersion 31
                    // 若提示找不到对应buildTools版本,可改为你本地已安装的31+版本,或删除此行
                    buildToolsVersion "31.0.0"
                }
            }
        }
    }
    
  2. 清理缓存后重新构建
    依次执行以下操作清除历史构建缓存,再启动项目即可:
    • 执行flutter clean清理Flutter项目缓存
    • 手动删除android目录下的.gradle文件夹,清除Gradle本地缓存
    • 重新执行flutter run构建项目

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 10:54:00