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

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

相关推荐
空中海2 小时前
第十一章:iOS性能优化、测试与发布
ios·性能优化
空中海3 小时前
第十二章:安卓实战架构与最佳实践
android·架构
IntMainJhy3 小时前
【Flutter for OpenHarmony 】第三方库鸿蒙电商全栈实战:从组件适配到项目完整交付✨
flutter·华为·harmonyos
iAnMccc3 小时前
Swift Codable 的 5 个生产环境陷阱,以及如何优雅地解决它们
ios
iAnMccc3 小时前
从 HandyJSON 迁移到 SmartCodable:我们团队的实践
ios
程序员老刘4 小时前
别慌!GetX只是被误杀,但你的代码可能真的在裸奔
flutter·客户端
angerdream4 小时前
Android手把手编写儿童手机远程监控App之四大组件详解2
android
IntMainJhy4 小时前
【flutter for open harmony】第三方库Flutter 鸿蒙实战:商品详情页完整实现 + 点击跳转失效问题修复✨
flutter·华为·harmonyos