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

Flutter更新后添加包报错:无法获取未知属性'kotlin_version'

解决Flutter更新后permission_handler的kotlin_version缺失报错

方案一:在根build.gradle中全局定义kotlin_version变量

插件的build.gradle依赖kotlin_version变量,但当前根build.gradle未定义该变量。你可以在根目录build.gradle中添加全局变量配置,让所有子项目(包括第三方插件)能访问到该变量,注意版本要和settings.gradle中声明的Kotlin版本保持一致(你的配置中是1.7.20):

修改根目录build.gradle:

ext {
    kotlin_version = '1.7.20'
}

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

rootProject.buildDir = "../build"
subprojects {
    project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
    project.evaluationDependsOn(":app")
}

tasks.register("clean", Delete) {
    delete rootProject.buildDir
}

方案二:升级permission_handler到最新版本

旧版本的permission_handler_android插件仍依赖传统的kotlin_version变量,新版本已适配Flutter的新Gradle结构。你可以在pubspec.yaml中升级依赖版本:

dependencies:
  permission_handler: ^最新版本号

执行flutter pub get更新依赖后,新版本会移除对kotlin_version变量的依赖,直接适配插件式Kotlin版本配置。

方案三:强制给所有子项目注入kotlin_version变量

如果前两种方法无效,可在根build.gradle的subprojects块中强制给所有子项目注入变量:

subprojects {
    project.buildDir = "${rootProject.buildDir}/${project.name}"
    // 注入kotlin_version变量
    project.ext.kotlin_version = "1.7.20"
}

验证步骤

  1. 执行flutter clean清除缓存
  2. 执行flutter pub get更新依赖
  3. 重新运行项目flutter run

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 10:26:02