Flutter 真机运行Running Gradle task 'assembleDebug'...

838 阅读2分钟

这是个老问题,就是说Gradle下载慢了,卡住了。但是我用过阿里云镜像、设置编译性能、设置Gradle从本地文件夹下载、为flutter安装目录下添加阿里云镜像、翻墙等方式,它还是没有iOS快的,甚至很慢。不过只是第一次慢哈。

1.为build.gradle文件配置阿里云镜像,屏蔽系统自带的镜像,如下图。

WechatIMG84.jpg

具体的可复制代码为:

buildscript {
    repositories {
        maven { url 'https://maven.aliyun.com/repository/public' }
        maven { url 'https://maven.aliyun.com/repository/google' }
        maven { url 'https://maven.aliyun.com/nexus/content/repositories/jcenter' }
        maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
    }
    dependencies {
        /// 我不知道为什么,这里每次编译都不过,要报错。只有屏蔽掉才可以.
//        classpath 'com.android.tools.build:gradle:7.6.3'
    }
}

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/nexus/content/groups/public' }
        maven { url 'https://maven.aliyun.com/nexus/content/repositories/jcenter' }
        maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
    }
}

2.修改settings.gradle文件中的我框起来的字段为阿里云镜像。

WechatIMG85.jpg

3.修改编译性能。

WechatIMG86.jpg 4.把我们需要的Gradle版本从网上下载下来,存储到本地,然后修改这里的url,表示从本地获取Gradle资源。(这真的很有用)

WechatIMG81.jpg

4.1 如何确定,我们需要的是哪个Gradle版本?

其实在上图的gradle-wrapper.properties文件,在我们没有做任何修改的时候,就可以看出它的后缀gradle-7.6.3-all.zip就可以看出来我们需要的Gradle版本是7.6.3版本。

WechatIMG82.jpg

既然我们知道这个版本了,那么就浏览器输入:services.gradle.org/distributio… 下载这个版本。

4.2 我们在下载下来后,放置于本地的一个路径下面,有人说这个gradle文件需要解压,又有人说不需要解压,我反正还没有解压。然后才把第4点里面的路径改为我们指向本地的路径,至于这个路径该怎么写,下面有两个图可以用作参考,如果你是iOS过来的,可能会有点陌生。

8491e1cd6c914f1cac8ad23e0e3504f6~tplv-k3u1fbpfcp-jj-mark_3024_0_0_0_q75.webp

WechatIMG83.jpg

5.最后一招,呜呜,多管齐下,还是不行的话,就只有等了。修改Flutter安装⽬录中的flutter.gradle⽂件,为它加入阿里的镜像,其实这一步和上面的在build.gradle文件中加入阿里云镜像时常一起被提及。

⽂件路径:flutter/packages/flutter_tools/gradle/flutter.gradle

修改内容(加⼊阿⾥镜像):

复制如下代码到该文件中:

buildscript {
    repositories {
        maven { url 'https://maven.aliyun.com/repository/public' }
        maven { url 'https://maven.aliyun.com/repository/google' }
        maven { url 'https://maven.aliyun.com/nexus/content/repositories/jcenter' }
        maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
    }
    dependencies {
        /// 我不知道为什么,这里每次编译都不过,要报错。只有屏蔽掉才可以.
//        classpath 'com.android.tools.build:gradle:7.6.3'
    }
}