解决Flutter构建安卓项目卡在Flutter: Running Gradle task ‘assembleDebug‘...:替换国内 Maven 镜像

一、问题根源及解决思路

Gradle 是 Flutter 安卓项目构建的核心工具。

assembleDebugGradle 构建安卓Debug版APK的核心任务,执行时会下载项目及第三方插件的安卓原生依赖。

国外源在国内访问存在网络延迟高、DNS解析失败、链路拦截等问题,直接导致Gradle下载超时,最终表现为构建卡住或报错(如Could not download xxx.jar、Read timed out、UnknownHostException等)。

所以,我们要将Gradle的依赖下载源替换为阿里云国内镜像(maven.aliyun.com,该镜像同步了谷歌、Maven官方的所有依赖,国内访问速度大幅提升,秒下。

二、修改前需要了解的内容

配置文件有两种格式

  • 传统格式:build.gradle(Groovy语法)
  • 新版格式:build.gradle.kts(Kotlin DSL语法)

配置文件的路径

  • 项目根目录中的配置文件,路径示例为:项目根目录/android/build.gradle.kts
  • 本地插件(如有)中的配置文件,路径示例为:项目根目录/packages/插件名/android/build.gradle

三、替换为阿里云国内镜像

格式1:修改build.gradle.kts

kotlin 复制代码
// buildscript块:配置Gradle构建工具依赖源
buildscript {
    repositories {
        // 注释/删除原有国外源
        // google()
        // mavenCentral()
        // 新增阿里云镜像(Kotlin DSL语法)
        maven(url = "https://maven.aliyun.com/repository/google")
        maven(url = "https://maven.aliyun.com/repository/public")
        maven(url = "https://maven.aliyun.com/repository/gradle-plugin")
    }
    dependencies {
        // 保持原有gradle插件版本,注意括号和引号格式
        classpath("com.android.tools.build:gradle:7.3.1")
    }
}

// allprojects块:配置项目所有模块依赖源
allprojects {
    repositories {
        // 注释/删除原有国外源
        // google()
        // mavenCentral()
        // 新增阿里云镜像
        maven(url = "https://maven.aliyun.com/repository/google")
        maven(url = "https://maven.aliyun.com/repository/public")
        maven(url = "https://maven.aliyun.com/repository/gradle-plugin")
    }
}

// 保留原有clean任务(如有)
tasks.register("clean", Delete::class) {
    delete(rootProject.buildDir)
}

格式2:修改build.gradle

dart 复制代码
// buildscript块:配置Gradle构建工具自身的依赖源
buildscript {
    repositories {
        // 注释/删除原有国外源
        // google()
        // mavenCentral()
        // 新增阿里云镜像
        maven { url 'https://maven.aliyun.com/repository/google' }
        maven { url 'https://maven.aliyun.com/repository/public' }
        maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
    }
    dependencies {
        // 保持原有gradle插件版本(如7.3.1、7.4.2)
        classpath 'com.android.tools.build:gradle:7.3.1'
    }
}

// allprojects块:配置项目所有模块的依赖源
allprojects {
    repositories {
        // 注释/删除原有国外源
        // google()
        // mavenCentral()
        // 新增阿里云镜像
        maven { url 'https://maven.aliyun.com/repository/google' }
        maven { url 'https://maven.aliyun.com/repository/public' }
        maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
    }
}

// 保留原有clean任务(如有)
task clean(type: Delete) {
    delete rootProject.buildDir
}
相关推荐
xiaopang17 小时前
RK3568 AOSP 编译与快速部署实战
android
码农coding18 小时前
android12 SystemUI之通知
android
summerkissyou198718 小时前
android - 性能 - Perfetto - cpu 分析教程及例子
android·性能
AFinalStone20 小时前
Android 7系统休眠唤醒(七)内核层—wakelock与autosleep机制
android·休眠唤醒
starvapour20 小时前
在关机键损坏的情况下让手机关机
android·adb·手机
AFinalStone21 小时前
Android 7系统休眠唤醒(八)内核层—Alarm定时唤醒与硬件唤醒源
android·电源管理·休眠唤醒
AFinalStone21 小时前
Android 7系统休眠唤醒(五)休眠全链路
android·电源管理·休眠唤醒
好好沉淀1 天前
Windows 下升级 Maven 3.6.1 到 3.9.9 踩坑全记录
java·windows·maven
zzq77971 天前
Android 风险识别机制实测:从录屏悬浮窗到远程控制的边界评估
android·安全·安卓·app加固·御盾安全