解决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
}
相关推荐
lxysbly21 分钟前
n64模拟器安卓版带金手指2026
android
我真会写代码22 分钟前
SSM(指南一)---Maven项目管理从入门到精通|高质量实操指南
java·spring·tomcat·maven·ssm
一只大侠的侠24 分钟前
【Harmonyos】Flutter开源鸿蒙跨平台训练营 Day 2 鸿蒙跨平台开发环境搭建与工程实践
flutter·开源·harmonyos
微祎_1 小时前
Flutter for OpenHarmony:构建一个 Flutter 平衡球游戏,深入解析动画控制器、实时物理模拟与手势驱动交互
flutter·游戏·交互
ZH15455891312 小时前
Flutter for OpenHarmony Python学习助手实战:面向对象编程实战的实现
python·学习·flutter
renke33643 小时前
Flutter for OpenHarmony:构建一个 Flutter 色彩调和师游戏,RGB 空间探索、感知色差计算与视觉认知训练的工程实现
flutter·游戏
游戏开发爱好者83 小时前
日常开发与测试的 App 测试方法、查看设备状态、实时日志、应用数据
android·ios·小程序·https·uni-app·iphone·webview
王码码20353 小时前
Flutter for OpenHarmony 实战之基础组件:第三十一篇 Chip 系列组件 — 灵活的标签化交互
android·flutter·交互·harmonyos
黑码哥4 小时前
ViewHolder设计模式深度剖析:iOS开发者掌握Android列表性能优化的实战指南
android·ios·性能优化·跨平台开发·viewholder
亓才孓4 小时前
[JDBC]元数据
android