Flutter初装后运行assembleDebug任务失败,无法创建mergeDebugAssets任务求助
Flutter初装后运行assembleDebug任务失败,无法创建mergeDebugAssets任务求助
你好,这个问题我之前帮朋友排查过,核心原因是Java版本与Flutter自带的Gradle版本不兼容导致的。先把你遇到的错误信息整理出来方便参考:
FAILURE: Build failed with an exception. Where: Script 'C:\Users\mouaz\OneDrive\Documents\Flutter\packages\flutter_tools\gradle\flutter.gradle' line: 950 What went wrong: A problem occurred evaluating root project 'android'. A problem occurred configuring project ':app'. Could not create task ':app:copyFlutterAssetsDebug'. > 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. 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
看你的flutter doctor -v输出,其他配置都正常,但Java版本是Oracle Java 20,而Flutter 3.7.12对应的Gradle工具链还没完全适配Java 20,这就引发了TaskAction注解参数的兼容性错误。下面给你几个可行的解决办法,按优先级推荐:
方法一:降级Java到17(最稳妥,兼容性最好)
Android生态目前对Java 17的支持最完善,而且你的Android Studio已经自带了OpenJDK 17,直接用它就行:
- 卸载当前的Oracle Java 20(在Windows设置-应用列表里找到Java SE 20卸载)
- 找到Android Studio自带的JDK路径:你的Android Studio安装在
C:\Program Files\Android\Android Studio,对应的JDK路径是C:\Program Files\Android\Android Studio\jbr - 配置系统环境变量:新增
JAVA_HOME变量,值填上面的JDK路径;再把%JAVA_HOME%\bin添加到系统PATH的最顶部(确保系统优先使用这个JDK) - 验证:打开命令提示符,输入
java -version,确认输出是OpenJDK 17的版本 - 回到项目,运行
flutter clean,然后再flutter run试试
方法二:升级Flutter到最新稳定版
如果不想降级Java,可以尝试升级Flutter到支持Java 20的新版本:
- 打开命令提示符,运行
flutter upgrade,等待升级完成 - 升级后,运行
flutter doctor确认环境正常 - 重新运行项目
flutter run
方法三:清除缓存重试(配合上面的方法使用)
如果上面的方法还没解决,试试清除Flutter和Gradle的缓存:
- 运行
flutter clean - 手动删除项目中
android/.gradle文件夹 - 重新运行
flutter run
备注:内容来源于stack exchange,提问作者Moaz Ahmed Mamoon
相关产品推荐
相关产品推荐

