Flutter运行默认应用至安卓模拟器时Gradle assembleDebug任务失败咨询
核心报错
- 构建终止错误:
Gradle task assembleDebug failed with exit code 1 - 根因错误:
Could not find or load main class org.gradle.wrapper.GradleWrapperMain
问题场景
Flutter开发环境下运行默认初始化项目到Android模拟器,模拟器可正常启动,但执行到Gradle打包debug包环节构建失败。已尝试重装Android Studio、Flutter、Dart全量开发环境,删除重建AVD,执行flutter doctor未检测到任何异常;参考公开方案在项目根目录执行gradle wrapper命令时,发现Flutter项目根目录不存在build.gradle文件,方案无法生效。
故障原因
报错本质是项目中Gradle Wrapper的核心依赖文件gradle-wrapper.jar缺失或损坏。之前执行gradle wrapper失败的原因是找错了执行路径:Flutter项目的Gradle配置文件不在项目根目录,而是存放在项目下的android子目录中,根目录自然找不到对应build.gradle文件。
修复步骤
- 终端切换到当前Flutter项目的
android子目录,该目录下可找到对应build.gradle文件。示例路径参考:如果你的项目存放在~/code/flutter/my_demo,则需要切换到~/code/flutter/my_demo/android路径。 - 清理已损坏的wrapper残留文件:
- Windows系统执行命令:
del .gradle\wrapper\gradle-wrapper.jar- Mac/Linux系统执行命令:
rm .gradle/wrapper/gradle-wrapper.jar - 在当前
android目录下重新生成Gradle Wrapper文件,执行命令:
执行完成后检查gradle wrapperandroid/gradle/wrapper目录,确认存在gradle-wrapper.jar、gradle-wrapper.properties两个文件即为生成成功。 - 切回Flutter项目根目录,清理旧构建缓存并拉取依赖,依次执行:
flutter clean flutter pub get - 重新执行运行命令即可正常构建。
补充:如果执行
gradle wrapper时提示找不到gradle命令,可直接用Android Studio打开项目下的android文件夹,等待AS自动完成Gradle同步,会自动补全缺失的wrapper文件,同步完成后再回到终端执行上述第4步操作即可。
内容的提问来源于stack exchange,提问作者Gharla Samuel
相关产品推荐
相关产品推荐

