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" }
验证步骤
- 执行
flutter clean清除缓存 - 执行
flutter pub get更新依赖 - 重新运行项目
flutter run
内容的提问来源于stack exchange,提问作者Yasine Romdhane
相关产品推荐
相关产品推荐

