flutter项目解决Initializing gradle... (This is taking an unexpectedly long time.)

问题一

问题:可能会一直停留在Initializing gradle…过不去。

Initializing gradle是在试图从官方网站获取gradle,由于众所周知的原因,速度会很慢(及时挂了挂代理也会一直卡在这里)。可以试着手动下载gradle-4.1-all.zip后放到「~/.gradle/wrapper/dists/gradle-4.1-all/bzyivzo6n839fup2jbap0tjew」目录下,然后重新运行。

运行Flutter程序,控制台出现Initializing gradle…后没有反应,什么问题?

问题二

问题:可能会一直停留在Resolving dependencies…过不去。

Gradle默认直连网络,即使Mac设置了全局代理也是一样。就算你给Android Studio设置了代理,它依旧会风轻云淡地直连那个你在中国一辈子也不可能连上的网站……

要让Gradle走代理,你需要给它进行单独的配置,在用户目录下找到隐藏文件夹.gradle,在该目录下找到文件gradle.properties(默认不存在,需要手动创建),将下面内容写入文件中:

1
2
3
systemProp.socksProxyHost=127.0.0.1
systemProp.socksProxyPort=1080
systemprop.socksProxyVersion=5

 

也可以单独在每个项目的gradle.properties中添加上述的配置,不过这只会对当前项目有效。

设置完代理,如果还有下载失败的问题,可以使用镜像

用阿里云的镜像文件 解决无法下载的问题

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.2.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 下边的 gradle文件,
打开Flutter sdk目录,找到如下地址:

 flutter⁩ ▸ ⁨packages⁩ ▸ ⁨flutter_tools⁩ ▸ ⁨gradle

打开 flutter.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.2.1'
    }
}

 

Gradle 配置代理
gradle代理设置

你可能感兴趣的:(flutter,gradle)