如何解决Flutter Gradle插件声明方式过时的警告?
解决Flutter Gradle插件弃用警告的具体步骤
针对你遇到的两个命令式插件应用弃用警告,按以下步骤迁移到声明式plugins块即可解决:
1. 迁移主Flutter Gradle插件
打开项目根目录的build.gradle,移除旧的命令式应用代码:
// 删除该行 apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
替换为声明式plugins块(如果已有plugins块,直接添加对应id):
plugins { id "com.android.application" version "7.4.2" apply false id "org.jetbrains.kotlin.android" version "1.8.0" apply false id "dev.flutter.flutter-gradle-plugin" apply false }
注:如果你的
settings.gradle中已通过pluginManagement配置了插件版本解析策略,可省略version字段。
2. 迁移app_plugin_loader插件
打开app模块下的build.gradle,移除旧的命令式代码:
// 删除该行 apply from: "$flutterRoot/packages/flutter_tools/gradle/app_plugin_loader.gradle"
在该文件的plugins块中添加声明式插件引用:
plugins { id "com.android.application" id "kotlin-android" id "dev.flutter.flutter-gradle-plugin" id "dev.flutter.flutter-plugin-loader" // 替代原app_plugin_loader的声明式写法 }
3. 确认settings.gradle配置
确保你的settings.gradle中已正确配置插件仓库和Flutter插件来源(你已完成依赖迁移,这步应已配置):
pluginManagement { def flutterSdkPath = { def props = new Properties() file("local.properties").withInputStream { props.load(it) } def path = props.getProperty("flutter.sdk") assert path != null, "flutter.sdk未在local.properties中配置" return path }() includeBuild("$flutterSdkPath/packages/flutter_tools/gradle") repositories { google() mavenCentral() gradlePluginPortal() } }
完成以上修改后,同步Gradle项目,弃用警告即可消除。
内容的提问来源于stack exchange,提问作者Abdullah Akram
相关产品推荐
相关产品推荐

