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
}
...略
相关推荐
肥肥呀呀呀5 分钟前
flutter 的热更新方案shorebird
flutter
snail2012113 小时前
Flutter接入ProtoBuff和原生Android通信【性能最优】
android·flutter
程序猿阿伟4 小时前
《让歌声跨越山海:Flutter借助Agora SDK实现高质量连麦合唱》
flutter
郝郝先生--7 小时前
Flutter 异步原理-Zone
前端·flutter
怀君20 小时前
Flutter——数据库Drift开发详细教程(四)
数据库·flutter
肥肥呀呀呀1 天前
flutter 资料收集
前端·flutter
程序猿阿伟1 天前
《社交应用架构生存战:React Native与Flutter的部署容灾决胜法则》
flutter·react native·架构
肥肥呀呀呀1 天前
flutter利用 injectable和injectable_generator 自动get_it注册
flutter
恋猫de小郭2 天前
Compose Multiplatform iOS 稳定版发布:可用于生产环境,并支持 hotload
android·flutter·macos·ios·kotlin·cocoa
yuanlaile2 天前
Flutter开发HarmonyOS实战-鸿蒙App商业项目
flutter·华为·harmonyos·flutter开发鸿蒙