Flutter 2.2.0执行:app:compileFlutterBuildDebug任务失败求助
问题描述
开发过程中Android模拟器出现卡死,擦除数据重置模拟器后仅当前特定项目出现构建失败问题,其余项目均可正常运行。
🔴 错误日志
Using hardware rendering with device sdk gphone x86. If you notice graphics artifacts, consider enabling software rendering with "--enable-software-rendering". Launching lib\main.dart on sdk gphone x86 in debug mode... registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection) registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection) registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection) Warning: Mapping new ns http://schemas.android.com/repository/android/common/02 to old ns http://schemas.android.com/repository/android/common/01 Warning: Mapping new ns http://schemas.android.com/repository/android/generic/02 to old ns http://schemas.android.com/repository/android/generic/01 Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/addon2/02 to old ns http://schemas.android.com/sdk/android/repo/addon2/01 Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/repository2/02 to old ns http://schemas.android.com/sdk/android/repo/repository2/01 Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/sys-img2/02 to old ns http://schemas.android.com/sdk/android/repo/sys-img2/01 FAILURE: Build failed with an exception. * Where: Script 'D:\flutter2\packages\flutter_tools\gradle\flutter.gradle' line: 1035 * What went wrong: Execution failed for task ':app:compileFlutterBuildDebug'. > Process 'command 'D:\flutter2\bin\flutter.bat'' finished with non-zero exit value 1 * 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 BUILD FAILED in 8s Running Gradle task 'assembleDebug'... Running Gradle task 'assembleDebug'... Done 9.9s Exception: Gradle task assembleDebug failed with exit code 1
🩺 Flutter doctor检查结果
[√] Flutter (Channel stable, 2.2.0, on Microsoft Windows [Version 10.0.19043.1165], locale en-US) • Flutter version 2.2.0 at D:\flutter2 • Framework revision b22742018b (4 months ago), 2021-05-14 19:12:57 -0700 • Engine revision a9d88a4d18 • Dart version 2.13.0 [√] Android toolchain - develop for Android devices (Android SDK version 30.0.3) • Android SDK at C:\Users\Hamza\AppData\Local\Android\sdk • Platform android-30, build-tools 30.0.3 • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189) • All Android licenses accepted. [√] Chrome - develop for the web • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe [√] Android Studio (version 4.1.0) • Android Studio at C:\Program Files\Android\Android Studio • Flutter plugin can be installed from: https://plugins.jetbrains.com/plugin/9212-flutter • Dart plugin can be installed from: https://plugins.jetbrains.com/plugin/6351-dart • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189) [√] VS Code (version 1.59.1) • VS Code at C:\Users\Hamza\AppData\Local\Programs\Microsoft VS Code • Flutter extension version 3.25.0 [√] Connected device (3 available) • sdk gphone x86 (mobile) • emulator-5554 • android-x86 • Android 11 (API 30) (emulator) • Chrome (web) • chrome • web-javascript • Google Chrome 92.0.4515.159 • Edge (web) • edge • web-javascript • Microsoft Edge 92.0.902.78 • No issues found!
🗃 pubspec.yaml配置
name: donation_app description: A new Flutter project. publish_to: 'none' version: 1.0.0+1 environment: sdk: ">=2.11.0 <3.0.0" dependencies: flutter: sdk: flutter cupertino_icons: ^1.0.2 font_awesome_flutter: ^9.1.0 syncfusion_flutter_sliders: ^19.2.55 charts_flutter: ^0.11.0 carousel_slider: ^3.0.0 bottom_navy_bar: ^6.0.0 share: ^2.0.4 screenshot: ^1.2.1 path_provider: ^2.0.2 permission_handler: ^8.1.4+1 image_picker: ^0.7.5+3 flutter_svg: ^0.22.0 datetime_picker_formfield: ^2.0.0 amplitude_flutter: ^3.2.1 firebase_auth: ^3.0.1 firebase_core: ^1.4.0 firebase_storage: ^10.0.1 cloud_firestore: ^2.4.0 shared_preferences: ^2.0.6 flutter_dotenv: ^5.0.0 webview_flutter: ^2.0.8 dio: ^4.0.0 js: ^0.6.3 dev_dependencies: flutter_test: sdk: flutter flutter: uses-material-design: true assets: - assets/ - assets/events/ - assets/logo/ - assets/orgs/ - .env fonts: - family: Comfortaa fonts: - asset: fonts/Comfortaa-Regular.ttf - asset: fonts/Comfortaa-Medium.ttf - asset: fonts/Comfortaa-Light.ttf - asset: fonts/Comfortaa-Bold.ttf weight: 900
💻 已尝试的解决方案
- 重新安装Flutter SDK
- 清理依赖并重拉:执行
flutter clean后执行flutter pub get - 删除
pubspec.lock文件后重新执行flutter pub get - 删除
android/settings.gradle文件后执行flutter create .重建配置 - 删除
C:/USERNAME/.gradle和C:/USERNAME/.gradle/caches目录清理Gradle缓存 - 升级Android Studio版本
- 将Flutter升级到
flutter 2.2.3最新稳定版 - 将
settings.gradle代码替换为如下内容:
include ':app' def flutterProjectRoot = rootProject.projectDir.parentFile.toPath() def plugins = new Properties() def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins') if (pluginsFile.exists()) { pluginsFile.withReader('UTF-8') { reader -> plugins.load(reader) } } plugins.each { name, path -> def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile() include ":$name" project(":$name").projectDir = pluginDirectory }
解决方案
当前compileFlutterBuildDebug任务执行失败,其余项目正常,说明问题出在当前项目的依赖兼容性和Android构建配置层面,可按以下步骤操作:
- 降级Firebase相关依赖版本,适配Flutter 2.2.x版本:
firebase_auth: ^1.4.1 firebase_core: ^1.3.0 firebase_storage: ^8.1.3 cloud_firestore: ^2.3.0
- 检查
android/build.gradle配置,确认kotlin版本不低于1.5.0,compileSdkVersion和targetSdkVersion统一为30,和本地安装的Android SDK版本对齐。 - 执行完整清理流程:关闭Android模拟器,依次执行以下命令,再重启模拟器运行项目
flutter clean rm -rf android/.gradle rm -rf build flutter pub get
- 校验资源文件路径:确认
assets目录下所有引用的资源文件真实存在,没有命名错误、路径大小写不匹配的问题,Flutter 2.x对资源路径校验更严格,Windows环境下大小写不匹配也会触发构建失败。 - 若以上步骤仍未解决,执行
flutter run -v运行项目,从详细输出中定位具体构建失败原因,重点排查依赖包的Android编译报错信息。
内容的提问来源于stack exchange,提问作者Hamza
相关产品推荐
相关产品推荐

