flutter run长时间卡在Running Gradle task ”assembleDebug“...

建立Flutter工程后,编译过程卡在了Running Gradle task ‘assembleDebug’…或者‘assembleRelease’

这时候一般在下载gradle并配置项目。所以可能出现的问题一般有两种

一、下载过程出现问题。

Gradle目录一般在 “C:\Users\[用户名]\.gradle\” 下,若是非windows系统,请自行替换用户主目录。如果AndroidStudio开发,该路径可以在"File | Settings | Build, Execution, Deployment | Build Tools | Gradle"中修改。

我使用的是 “gradle-6.0.1” ,可以在官网 https://gradle.org/releases/ 页面下载对应的 “complete” 安装包,放在 “C:\Users\[用户名]\.gradle\wrapper\dists\gradle-6.0.1-all\99d3u8wxs16ndehh90lbbir67” 目录下,gradle的版本可以在 "[工程目录]\android\gradle\wrapper\gradle-wrapper.properties" 文件中设置

#Fri Jun 23 08:50:38 CEST 2017
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.0.1-all.zip

如果Running Gradle task报错,提示Exception in thread "main" java.util.zip.ZipException: error in opening zip file,并且编译时很快就提示此错误,没有太长的等待时间。说明是gradle压缩包损坏,解决方案是,去上一段所说的gradle目录中,删掉 “[Gradle目录]\wrapper\dists\gradle-6.0.1-all\99d3u8wxs16ndehh90lbbir67” 文件夹下的zip文件以及解压出的文件夹,重新编译下载或者手动下载gradle压缩包。

flutter run长时间卡在Running Gradle task ”assembleDebug“..._第1张图片

二、gradle仓库问题

如果gradle工具下载正常,但编译过程依然卡住超过10分钟不能结束。那可能就是仓库问题,gradle的Maven仓库在国外, 因此可以使用阿里云的镜像地址,如果搭梯子并且梯子质量很好,可能不会越到这个问题。

主要解决思路为使用如下镜像:

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' }

具体修改文件为:"[工程目录]\android\build.gradle" 和 "[Flutter安装目录]\packages\flutter_tools\gradle\flutter.gradle"。将文件中的 google()和jcenter() 替换为上述镜像。

[工程目录]\android\build.gradle:

buildscript {
    ext.kotlin_version = '1.3.71'
    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.6.3'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}
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' }
    }
}
// 后文的配置不要改动
rootProject.buildDir = '../build'
subprojects {
    project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
    project.evaluationDependsOn(':app')
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

[Flutter安装目录]\packages\flutter_tools\gradle\flutter.gradle:

import org.apache.tools.ant.taskdefs.condition.Os
import org.gradle.api.DefaultTask
import org.gradle.api.GradleException
import org.gradle.api.Project
import org.gradle.api.Plugin
import org.gradle.api.Task
import org.gradle.api.file.CopySpec
import org.gradle.api.file.FileCollection
import org.gradle.api.tasks.Copy
import org.gradle.api.tasks.InputFiles
import org.gradle.api.tasks.OutputDirectory
import org.gradle.api.tasks.TaskAction
import org.gradle.api.tasks.bundling.Jar

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.5.0'
    }
}
// 后边的配置不要动
android {
    compileOptions {
        sourceCompatibility 1.8
        targetCompatibility 1.8
    }
}
…………
…………

 

你可能感兴趣的:(Flutter)