(原创)Flutter开发问题:项目启动一直卡在Running Gradle task ‘assembleDebug‘

文章提供了针对Flutter项目运行过程中Gradle任务assembleDebug长时间无响应的解决方案,包括修改android/build.gradle文件中的仓库地址为阿里云镜像,更新FlutterSDK中相关Gradle文件的配置,以及更改dependency解析的仓库URL。通过这些步骤,可以避免因访问Google仓库缓慢导致的构建问题。

问题描述

按照flutter官网步骤安装Flutter SDK、Android studio等,
在创建第一个flutter项目后run的过程一直是Running Gradle task ‘assembleDebug’…
针对这个问题,现在给出解决方法

解决办法

步骤1

修改android\build.gradle文件
在这里插入图片描述

buildscript {
     repositories {
         //修改的地方
        //google()
         //jcenter()
         maven { url 'https://maven.aliyun.com/repository/google' }
         maven { url 'https://maven.aliyun.com/repository/jcenter' }
         maven { url 'http://maven.aliyun.com/nexus/content/groups/public' }
     }

    dependencies {
         classpath 'com.android.tools.build:gradle:3.2.1'
     }
 }

allprojects {
     repositories {
         //修改的地方
        //google()
         //jcenter()
         maven { url 'https://maven.aliyun.com/repository/google' }
         maven { url 'https://maven.aliyun.com/repository/jcenter' }
         maven { url 'http://maven.aliyun.com/nexus/content/groups/public' }
     }
 }

rootProject.buildDir = '../build'
 subprojects {
     project.buildDir = "${rootProject.buildDir}/${project.name}"
 }
 subprojects {
     project.evaluationDependsOn(':app')
 }

task clean(type: Delete) {
     delete rootProject.buildDir
 }

步骤2

修改Flutter的配置文件, 该文件在FlutterSDK安装目录/packages/flutter_tools/gradle/flutter.gradle

buildscript {
     repositories {
         //修改的地方
        //google()
         //jcenter()
         maven { url 'https://maven.aliyun.com/repository/google' }
         maven { url 'https://maven.aliyun.com/repository/jcenter' }
         maven { url 'http://maven.aliyun.com/nexus/content/groups/public' }
     }
     dependencies {
         classpath 'com.android.tools.build:gradle:3.5.0'
     }
 }

步骤3

继续修改 FlutterSDK安装目录/packages/flutter_tools/gradle/flutter.gradle文件

private static final String MAVEN_REPO = "https://storage.googleapis.com/download.flutter.io";

修改为

private static final String DEFAULT_MAVEN_HOST = "https://storage.flutter-io.cn";

步骤4

修改FlutterSDK安装目录/packages/flutter_tools/gradle/resolve_dependencies.gradle文件
第20行的maven为:

	maven {
        url "http://download.flutter.io"
    }

然后重启Android Studio,再次运行就可以了

### 问题分析 Flutter 项目首次启动在 `Running Gradle task 'assembleDebug'` 是一个常见问题,通常与 Gradle 构建过程中的依赖下载、缓存损坏、配置错误或网络问题有关。首次运行时 Gradle 需要下载大量依赖,这一过程可能耗时较长,尤其是在网络稳定的情况下。 ### 解决方法 #### 1. 使用 `flutter run --verbose` 查看详细日志 通过运行 `flutter run --verbose` 可以查看详细的构建日志,帮助定位住的具体步骤。例如,可以识别出是否因资源文件未正确配置、依赖下载失败或 Java 环境配置错误导致的问题[^2]。 #### 2. 清理 Gradle 缓存 Gradle 缓存或构建产物损坏可能导致 `assembleDebug` 住。可以尝试删除以下目录以清理缓存: ```bash rm -rf android/.gradle rm -rf android/build rm -rf ~/.gradle ``` 清理缓存后重新运行项目Gradle 将重新下载依赖并构建项目。 #### 3. 使用国内镜像加速 Gradle 下载 Gradle 默认从官方仓库下载依赖,国内用户可能会遇到网络稳定的问题。可以通过修改 `gradle/wrapper/gradle-wrapper.properties` 文件中的 `distributionUrl` 来使用国内镜像: ```properties distributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-7.5-all.zip ``` 该方式可以显著提升依赖下载速度,避免因网络问题导致的超时[^4]。 #### 4. 使用 `flutter pub run` 命令重新构建 在某些情况下,直接运行 `flutter run` 可能会因缓存或构建状态问题导致顿。可以尝试先运行 `flutter pub run` 来确保应用资源正确加载后再运行 `flutter run`。 #### 5. 检查 Java 环境配置 Flutter 推荐使用 Java 11,旧版本的 Java 或错误的 `JAVA_HOME` 环境变量可能导致构建失败。可以通过以下命令检查 Java 版本: ```bash java -version ``` 确保使用的是 Java 11,并且 `JAVA_HOME` 指向正确的 JDK 安装路径。 #### 6. 使用 Android Studio 的模拟器并等待首次构建完成 首次启动项目时构建过程会较慢,可能需要 10 分钟以上,尤其是在下载依赖时。只要控制台没有报错,可以耐心等待构建完成。之后的构建速度会显著提升[^3]。 #### 7. 检查 `pubspec.yaml` 中的资源配置 如果图片、字体等静态资源未正确配置在 `assets` 字段中,也可能导致构建失败。确保 `pubspec.yaml` 中的资源配置格式正确,例如: ```yaml flutter: assets: - assets/images/ ``` 注意 `-` 后需要有空格,且路径格式正确[^2]。 ###
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值