重装Windows后旧Flutter项目无法在安卓设备/模拟器运行求助
Flutter旧项目Android端assembleDebug失败排查方案
问题背景
重装Windows系统后,存于独立磁盘的旧Flutter项目仅能在Web端正常运行,Android模拟器/真机执行flutter run -v时出现Gradle任务assembleDebug失败(exit code 1)。当前Gradle版本7.5,flutter doctor检测无异常,已尝试升级/降级Flutter、Gradle,flutter clean、flutter pub repair cache、Android Studio清理缓存等常规方案,问题未解决。
详细报错信息
[ ] BUILD FAILED in 39s [ ] Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0. [ ] You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins. [ ] See https://docs.gradle.org/8.0.2/userguide/command_line_interface.html#sec:command_line_warnings [ ] 202 actionable tasks: 5 executed, 197 up-to-date [ ] Watched directory hierarchies: [D:\Projects\DzApp\android] [ +639 ms] Running Gradle task 'assembleDebug'... (completed in 40.9s) [ +2 ms] Exception: Gradle task assembleDebug failed with exit code 1 [ +3 ms] "flutter run" took 43,128ms. [ +2 ms] #0 throwToolExit (package:flutter_tools/src/base/common.dart:10:3) #1 RunCommand.runCommand (package:flutter_tools/src/commands/run.dart:760:9) #2 FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:1297:27) <asynchronous suspension> #3 AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19) <asynchronous suspension> #4 CommandRunner.runCommand (package:args/command_runner.dart:212:13) <asynchronous suspension> #5 FlutterCommandRunner.runCommand.<anonymous closure> (package:flutter_tools/src/runner/flutter_command_runner.dart:339:9) <asynchronous suspension> #6 AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19) <asynchronous suspension> #7 FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:285:5) <asynchronous suspension> #8 run.<anonymous closure>.<anonymous closure> (package:flutter_tools/runner.dart:115:9) <asynchronous suspension> #9 AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19) <asynchronous suspension> #10 main (package:flutter_tools/executable.dart:90:3) <asynchronous suspension> [ +158 ms] ensureAnalyticsSent: 152ms [ ] Running 1 shutdown hook [ +5 ms] Shutdown hooks complete [ ] exiting with code 1
当前环境信息
Gradle版本
------------------------------------------------------------ Gradle 7.5 ------------------------------------------------------------ Build time: 2022-07-14 12:48:15 UTC Revision: c7db7b958189ad2b0c1472b6fe663e6d654a5103 Kotlin: 1.6.21 Groovy: 3.0.10 Ant: Apache Ant(TM) version 1.10.11 compiled on July 10 2021 JVM: 17.0.9 (Oracle Corporation 17.0.9+11-LTS-201) OS: Windows 10 10.0 amd64
Flutter Doctor输出
Doctor summary (to see all details, run flutter doctor -v): [√] Flutter (Channel stable, 3.13.4, on Microsoft Windows [Version 10.0.19045.3930], locale en-GB) [√] Windows Version (Installed version of Windows is version 10 or higher) [√] Android toolchain - develop for Android devices (Android SDK version 34.0.0) [√] Chrome - develop for the web [√] Visual Studio - develop Windows apps (Visual Studio Community 2022 17.8.4) [√] Android Studio (version 2022.3) [√] VS Code (version 1.86.0) [√] Connected device (4 available) [√] Network resources • No issues found!
针对性排查方案
- 获取详细错误日志:进入项目的
android目录,执行./gradlew assembleDebug --stacktrace --info,这会输出Gradle构建的完整错误栈,是定位具体问题(比如依赖冲突、签名配置失效、SDK版本不匹配)的核心依据。 - 对比配置文件差异:拿能正常运行的新项目和旧项目的
android/build.gradle(项目级)、android/app/build.gradle(模块级)做对比,重点检查:compileSdkVersion、minSdkVersion、targetSdkVersion是否与当前Android SDK 34兼容- 项目级build.gradle中
com.android.tools.build:gradle插件版本是否和Gradle 7.5兼容(推荐7.4.x版本) - debug签名配置是否存在路径失效问题(旧系统的签名文件路径可能在新系统中无法访问)
- 重置Gradle缓存:
- 执行
cd android && ./gradlew cleanBuildCache - 删除项目根目录下的
.gradle文件夹,以及android/.gradle文件夹 - 重新执行
flutter pub get后尝试flutter run
- 执行
- 更新依赖版本:执行
flutter pub outdated查看旧项目依赖与当前Flutter 3.13.4的兼容性,逐个升级存在版本冲突的依赖,尤其是涉及Android原生功能的插件(如权限、文件选择类插件)。 - 验证JDK环境:确认系统
JAVA_HOME指向的JDK版本与项目兼容,建议直接使用Flutter自带的JDK(路径为flutter/bin/cache/artifacts/libopenjdk),避免版本不匹配问题。
内容的提问来源于stack exchange,提问作者sovameyn
相关产品推荐
相关产品推荐

