flutter出现initializing gradle或resolving dependencies超时的解决方法

问题概况
在执行flutter run后,长时间卡在initializing gradle或resolving dependencies,然后报错。
这一情况通常是因为无法从Google和JCenter中获取相关资源所导致的,而gradle在进行资源访问时由于会绕过系统代理(未证实),所以即使有时在配置了代理的情况下也无法访问成功。
解决方案
这一解决方案只在mac上用过,不过Windows和Linux也是一样的操作。在不科学上网的情况下,可以用阿里云的源来替代Google和JCenter,可以修改以下两个文件中的一个(或者都改了)。
修改项目目录中的build.gradle
修改项目中的build.gradle可以修改当前项目gradle使用的源,位置如下:
你的flutter项目根目录/android/gradle/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.0.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’ }
}
}

修改flutter的flutter.gradle
也可以选择直接修改flutter SDK中的gradle文件,位置如下:
你的flutter SDK根目录/packages/flutter_tools/gradle/flutter.gradle
进行如下修改:
import …

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.3.2’
}
}

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理