flutter gradle版本更新到8.9

gradle版本更新到8.9

因为java版本更新到21.0.5,打开flutter项目时vscode提示需求更新gradle版本

项目一些需要变更的位置

gradle-wrapper.properties

复制代码
distributionBase=GRADLE_USER_HOME
distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip
distributionPath=wrapper/dists
zipStorePath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME

报错提示: Cannot use @TaskAction annotation on method IncrementalTask.taskAction$gradle_core() because interface

复制代码
Script 'D:\Program Files\flutter\packages\flutter_tools\gradle\src\main\groovy\flutter.groovy' line: 1349
* Where:
Script 'D:\Program Files\flutter\packages\flutter_tools\gradle\src\main\groovy\flutter.groovy' line: 1349

* What went wrong:

* What went wrong:
A problem occurred evaluating root project 'android'.
A problem occurred evaluating root project 'android'.
> A problem occurred configuring project ':app'.
   > Could not create task ':app:copyFlutterAssetsDebug'.
> A problem occurred configuring project ':app'.
   > Could not create task ':app:copyFlutterAssetsDebug'.
      > Could not create task ':app:mergeDebugAssets'.
      > Could not create task ':app:mergeDebugAssets'.
         > Cannot use @TaskAction annotation on method IncrementalTask.taskAction$gradle_core() because interface org.gradle.api.tasks.incremental.IncrementalTaskInputs is not a valid parameter to an action method.  

android/build.gradle两处变更

复制代码
buildscript {
    ...略
    dependencies {
        classpath 'com.android.tools.build:gradle:8.7.0' // 对应gradle8.9版本
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
    ...略
}

gradle与插件版本对应关系

https://developer.android.google.cn/build/releases/gradle-plugin?hl=zh-cn

报错: Could not create an instance of type com.android.build.api.variant.impl.LibraryVariantBuilderImpl.

复制代码
FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring project ':uni_links'.
> Could not create an instance of type com.android.build.api.variant.impl.LibraryVariantBuilderImpl.
   > Namespace not specified. Specify a namespace in the module's build file: C:\Users\alex\AppData\Local\Pub\Cache\hosted\pub.flutter-io.cn\uni_links-0.5.1\android\build.gradle. See https://d.android.com/r/tools/upgrade-assistant/set-namespace for information about setting the namespace.

     If you've specified the package attribute in the source AndroidManifest.xml, you can use the AGP Upgrade Assistant to migrate to the namespace value in the build file. Refer to https://d.android.com/r/tools/upgrade-assistant/agp-upgrade-assistant for general information about using the AGP Upgrade Assistant.

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
> Get more help at https://help.gradle.org.

android/app/build.gradle

增加namespace, 包括所有外部引入的包,否则会报如上错误

复制代码
...略
android {
    namespace 'xxx.xxx.xxx' // 增加namespace
}
...略
相关推荐
louisgeek3 小时前
Flutter StatelessWidget 和 StatefulWidget 的区别
flutter
JarvanMo4 小时前
Flutter插件中引用aar
flutter
孤鸿玉8 小时前
[Flutter小试牛刀] 写一个低配版的signals
flutter
科昂12 小时前
Dart 单线程异步模型:从原理到工程实践的系统化解析
android·flutter·dart
fundroid13 小时前
2025 跨平台技术如何选:KMP 与 Flutter 的核心差异
flutter·kotlin·kmp
耳東陈15 小时前
Flutter开箱即用一站式解决方案-新增企业级日志
flutter
顾林海15 小时前
Flutter 图片组件全面解析:从基础加载到高级应用
android·前端·flutter
眼镜会飞15 小时前
Flutter window和Mac中webview2使用Cef替代
windows·flutter·mac
淡写成灰15 小时前
Flutter自定义带有Badger组件组
flutter