构建Flutter应用报错:配置根项目'android'时发生问题
Flutter Android构建报错「A problem occurred configuring root project 'android'」解决方案
错误核心表现
构建过程抛出异常终止,具体报错特征:
- 根项目
android配置阶段失败,无法解析配置项:classpath下的所有依赖文件 - 具体依赖拉取失败项:
org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.10:无法从默认Maven中央仓库下载对应jar包,对repo.maven.apache.org发起GET请求失败,域名访问异常org.jetbrains.dokka:dokka-core:1.4.32:无法从默认Maven中央仓库下载对应jar包,对repo.maven.apache.org发起HEAD请求失败,域名访问异常
问题根因
项目默认配置的google()、mavenCentral()仓库服务器部署在海外,国内网络环境下无法正常连通对应服务,导致依赖下载请求超时、连接失败。同时原build.gradle文件中kotlin-gradle-plugin的依赖声明存在意外断行,存在潜在的配置解析风险。
修复步骤
- 打开项目路径下
android/build.gradle配置文件 - 分别修改
buildscript和allprojects两个节点下的repositories配置块,将国内公共Maven镜像源放在配置最前,原有官方仓库配置保留作为备用,同时修正kotlin-gradle-plugin依赖的断行问题,修改后的完整配置如下:
buildscript { ext.kotlin_version = '1.6.10' repositories { maven { url 'https://maven.aliyun.com/repository/google' } maven { url 'https://maven.aliyun.com/repository/public' } google() mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:7.1.2' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } allprojects { repositories { maven { url 'https://maven.aliyun.com/repository/google' } maven { url 'https://maven.aliyun.com/repository/public' } google() mavenCentral() } } rootProject.buildDir = '../build' subprojects { project.buildDir = "${rootProject.buildDir}/${project.name}" } subprojects { project.evaluationDependsOn(':app') } task clean(type: Delete) { delete rootProject.buildDir }
- 配置修改完成后,在项目根目录执行以下命令清理缓存并重新构建:
flutter clean flutter pub get flutter run
注意事项
Gradle会按照
repositories块中的书写顺序依次检索依赖,镜像源必须放在官方仓库配置之前,才能优先走国内节点拉取资源。如果配置后仍出现连接失败,检查本地Gradle全局配置、系统网络代理是否存在无效规则,清理无效代理配置后重试。
内容的提问来源于stack exchange,提问作者Henry
相关产品推荐
相关产品推荐

