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