Flutter集成Firebase后Gradle构建失败:IncrementalTask错误求助
解决Flutter+Firebase Gradle构建失败(IncrementalTaskInputs异常)
核心问题
构建失败源于Gradle版本与旧Firebase依赖、Flutter插件的兼容性冲突,同时root Gradle配置的不合理加重了任务创建顺序的混乱。
分步解决方案
1. 更新Firebase依赖版本
旧版本Firebase库不兼容Gradle 8.x的任务API,替换app/build.gradle中的依赖:
dependencies { implementation 'com.google.firebase:firebase-analytics:22.0.0' implementation 'com.google.firebase:firebase-storage:21.0.0' }
2. 对齐Gradle与Flutter的版本匹配
Flutter 3.24.2官方推荐使用Gradle 8.6,修改android/gradle/wrapper/gradle-wrapper.properties:
distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-all.zip
3. 修正Root Gradle配置
移除可能干扰任务评估的配置,将android/build.gradle调整为标准结构:
allprojects { repositories { google() mavenCentral() } } rootProject.buildDir = '../build' subprojects { project.buildDir = "${rootProject.buildDir}/${project.name}" } tasks.register("clean", Delete) { delete rootProject.buildDir } ext { compileSdkVersion = 34 targetSdkVersion = 34 appCompatVersion = "1.6.1" }
(删除了subprojects { project.evaluationDependsOn(':app') }这行,它会打乱Gradle默认的模块评估顺序)
4. 清理缓存并重建
执行命令彻底清理缓存后重新构建:
flutter clean cd android && ./gradlew clean cd .. && flutter run
错误原因说明
Cannot use @TaskAction annotation on method IncrementalTask.taskAction$gradle_core() 这个异常是因为:
- Gradle 8.x对增量任务的注解参数做了严格规范,旧版本的Firebase插件仍在使用已被废弃的
IncrementalTaskInputs参数格式 - Root Gradle中的
evaluationDependsOn强制提前评估app模块,进一步触发了任务创建的顺序错误
内容的提问来源于stack exchange,提问作者Drew Moe
相关产品推荐
相关产品推荐

