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

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

相关推荐
游戏开发爱好者89 小时前
WebSocket 抓包怎么查看内容?从握手到消息帧完整解读
网络协议·计算机网络·网络安全·ios·adb·https·udp
悟空瞎说13 小时前
# Alamofire 使用文档 完整翻译
ios
hunterandroid13 小时前
Android WebView JSBridge 治理实战:从线上白屏崩溃到协议化通信
android·前端
一个用户名i13 小时前
【Compose 系列】第 1 篇:认识 Compose,为什么要学它
android·android jetpack
极客猴子14 小时前
iPhone实时转写软件推荐:会议录音功能真实体验
android·人工智能·飞书
达令哥15 小时前
告别 ARouter!基于 Google 官方 Navigation 3 + KSP 打造 Compose 时代的双轨制路由框架
android·前端
YF021115 小时前
Android App启动与权限管控
android
见山是山-见水是水15 小时前
鸿蒙版 Flutter Video 视频播放组件:播放控制、全屏切换与倍速播放
flutter·音视频·harmonyos
嘟哩DuliDuli15 小时前
AI 短剧生成为什么要有角色库、场景库和镜头卡
android·人工智能·安全·ai·软件工程
NINO17 小时前
深度解析 Android ANR:从标准分析流程到 NativePollOnce 疑难破局
android