Flutter 编译卡顿解决方案

1、定位问题原因

在动手解决前,先精确找到问题根源。

运行诊断命令,在终端执行

复制代码
   flutter doctor -v,

检查 Flutter、Android SDK 等各项配置,并给出具体建议。

查看详细日志,在终端执行

arduino 复制代码
flutter run --verbose

打印出详细的构建过程。

2、配置,解决因网络问题导致的依赖下载失败

终端打开

bash 复制代码
 ls   ~/.gradle/wrapper/dists/

看看是否有对应的版本的gradle,没有下载后放在对应位置。

一般到这一步就解决问题了。

Gradle 配置国内镜像,修改项目配置文件:

打开你 Flutter 项目下的 android/build.gradle 文件。

替换镜像源,找到 buildscript 和 allprojects 两个代码块,将其中的 repositories 部分替换为下面的阿里云镜像地址。

rust 复制代码
buildscript {

    repositories {

        maven { url 'https://maven.aliyun.com/repository/google' }

        maven { url 'https://maven.aliyun.com/repository/jcenter' }

        maven { url 'https://maven.aliyun.com/nexus/content/groups/public/' }

        maven { url 'https://maven.aliyun.com/repository/central' }

        maven { url 'https://maven.aliyun.com/repository/public' }

        maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }

    }

    // ... 其他配置

}

  


allprojects {

    repositories {

        maven { url 'https://maven.aliyun.com/repository/google' }

        maven { url 'https://maven.aliyun.com/repository/jcenter' }

        maven { url 'https://maven.aliyun.com/nexus/content/groups/public/' }

        maven { url 'https://maven.aliyun.com/repository/central' }

        maven { url 'https://maven.aliyun.com/repository/public' }

        maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }

    }

}

3、清理,移除损坏的缓存文件

网络下载失败或进程中断可能导致缓存损坏。

  • 清理项目:在项目根目录执行 flutter clean。

  • 删除 Gradle 缓存:手动删除以下目录:

  • 项目下的 android/.gradle 和 android/build 用户目录下的 ~/.gradle/caches。

  • 获取依赖:执行 flutter pub get 重新获取项目依赖。

4、检查,确保开发环境兼容

环境配置不当也会引发问题。

  • 检查 Java 版本 :Flutter 推荐使用 Java 11。在终端执行 java -version 检查版本,如果不符请及时更新并正确设置 JAVA_HOME 环境变量。
  • 检查 Gradle 版本:打开 android/gradle/wrapper/gradle-wrapper.properties 文件,确认 distributionUrl 使用的 Gradle 版本与你的 Flutter SDK 兼容。
  • 更新 Flutter SDK:执行 flutter upgrade 将 SDK 更新到最新的稳定版。

5、在 Android 目录下直接运行 Gradle

如果以上步骤仍未解决,可以跳过 Flutter 工具链,直接在 Android 项目目录下手动运行 Gradle,能获取更精确的错误。

进入项目的 android 目录:

bash 复制代码
cd android

执行 Gradle 构建命令:

bash 复制代码
./gradlew assembleDebug --stacktrace

分析控制台输出的错误信息,根据提示进行针对性修复。

相关推荐
summerkissyou19875 小时前
Android - 摄像头 - hal - 开发教程,例子,常见问题,分析方法,解决方案
android
summerkissyou19876 小时前
Android 16 架构图
android
神龙天舞20016 小时前
MySQL 备库为什么会延迟好几个小时
android·数据库·mysql
蜡台7 小时前
Flutter 环境搭建 Dart配置
flutter·dart
码农coding9 小时前
android12 systemUI 之锁屏
android
AI云海10 小时前
iOS 多 Target 打包、UAT/生产测试与上架 App Store 全流程指南
ios
圆山猫10 小时前
[Virtualization](三):RISC-V H-extension 与 Guest 执行模式
android·java·risc-v
爱笑鱼10 小时前
Binder(七):getCallingUid() 读到的是谁?clearCallingIdentity() 又清掉了什么?
android
阿里超级工程师11 小时前
最新快速申请ios打包证书和profile文件步骤
ios·打包证书
落叶飘飘s15 小时前
餐饮服务与软件创新的融合:解析海底捞 APP 的 Flutter 鸿蒙开发之路
flutter·华为·harmonyos