flutter 一直卡在Running Gradle task 'assembleDebug'...运行不起来

大概率只有一个原因:gradle下载不完整! 要想办法让他下载完整!

解决方法:

方法一:修改远程maven仓库地址(2024.7.9下列地址可用)
repositories{

maven{ url'https://maven.aliyun.com/repository/public' }

maven{ url'https://maven.aliyun.com/repository/public' }

maven{ url'https://maven.aliyun.com/repository/google' }

maven{ url'https://maven.aliyun.com/repository/gradle-plugin' }

google()

mavenCentral()

jcenter()

}

```

方法二:本地离线配置(推荐这个)

去以下这个网址,Ctrl+F搜索你想要的gradle对应版本的zip。

https://services.gradle.org/distributions/

然后配置类似如下目录:distributionUrl=file:///C:/Users/Administrator/.gradle/wrapper/dists/gradle-7.3-all.zip

#distributionUrl=https\://services.gradle.org/distributions/gradle-7.3-all.zip

然后删除C:\Users\Administrator\.gradle\caches(或者直接删除整个./gradle文件),和项目中 gradle-wrapper.jar (如果提示被另外程序打开!如下图,任务管理器》结束openjdk ) 执行flutter run -v

如果报错

What went wrong: Execution failed for task ':app:compileDebugKotlin'. > Could not resolve all files for configuration ':app:kotlinCompilerClasspath'. > Could not download kotlin-reflect-1.7.10.jar (org.jetbrains.kotlin:kotlin-reflect:1.7.10) > Could not get resource 'https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-reflect/1.7.10/kotlin-reflect-1.7.10.jar'. > Read timed out

按照如下步骤检查

  1. 检查您的网络连接:确保您的网络连接稳定且正常工作。

  2. 重试构建:有时问题可能是暂时的。尝试重新构建项目,看看下载是否成功。

  3. 检查防火墙设置:如果您在防火墙后面,请确保防火墙没有阻止下载。您可能需要配置防火墙以允许访问 Maven Central Repository。(一定要注意这里防火墙设置很容易忽略)

  4. 代理设置:如果您在公司网络中工作,请检查是否需要为 Maven 配置代理设置,以便访问外部存储库。

  5. 清除 Gradle 缓存:您可以尝试清除 Gradle 缓存,以强制 Gradle 重新下载依赖项。您可以通过删除 ~/.gradle/caches 目录中的内容来执行此操作。

  6. 更新 Gradle 或 Kotlin 版本:确保您在项目中使用的是最新版本的 Gradle 和 Kotlin 插件。

  7. 检查存储库 URL:确认存储库 URL https://repo.maven.apache.org/maven2/ 可以从您的网络访问。

  8. 临时解决方法:如果问题仍然存在,您可以尝试从浏览器手动下载 kotlin-reflect-1.7.10.jar 文件,并将其放置在项目中适当的目录中。

如果报错

A problem occurred configuring root project 'android'.
> Could not resolve all files for configuration ':classpath'.
> Could not download protobuf-java-3.10.0.jar (com.google.protobuf:protobuf-java:3.10.0)
> Could not get resource 'https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-java/3.10.0/protobuf-java-3.10.0.jar'.
> Could not GET 'https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-java/3.10.0/protobuf-java-3.10.0.jar'.
> Connect to repo.maven.apache.org:443 [repo.maven.apache.org/151.101.108.215] failed: Connection timed out: no further information

  1. 检查网络连接:首先确保您的网络连接正常,并且没有阻止 Gradle 从 Maven 中央仓库下载所需的文件。您可以尝试使用浏览器访问 https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-java/3.10.0/protobuf-java-3.10.0.jar 网址,可以访问会直接下载该文件。

  2. 检查代理设置:如果您使用代理服务器进行网络连接,请确保 Gradle 配置了正确的代理设置,以便能够下载所需的依赖项。您可以在 Gradle 配置文件中设置代理,使 Gradle 能够正确连接到 Maven 仓库(在gradle.properties 里添加

    复制代码
    systemProp.http.proxyHost=your.proxy.host
    systemProp.http.proxyPort=your.proxy.port
    systemProp.https.proxyHost=your.proxy.host
    systemProp.https.proxyPort=your.proxy.port

    如果需要账号和密码在添加

    复制代码
    systemProp.http.proxyUser=your.proxy.username
    systemProp.http.proxyPassword=your.proxy.password
    systemProp.https.proxyUser=your.proxy.username
    systemProp.https.proxyPassword=your.proxy.password

    )。

  3. 清除 Gradle 缓存:有时候 Gradle 缓存可能导致下载问题。您可以尝试清除 Gradle 缓存,然后重新尝试构建项目。在命令行中执行 ./gradlew clean build --refresh-dependencies 可以清除缓存并刷新依赖项。(如提示不存在./gradlew 命令 使用路径来指定gradle 来使用,要注意的是确保你是项目的gardle,如

    复制代码
    C:\Users\Administrator\.gradle\wrapper\dists\gradle-7.4-all\aadb4xli5jkdsnukm30eibyiu\gradle-7.4\bin\gradle clean build --refresh-dependen
    cies

  4. 尝试使用国内镜像:如果连接 Maven 中央仓库速度较慢或出现问题,您可以尝试使用国内镜像来加快下载速度。一些国内镜像站点提供了 Maven 仓库的镜像,您可以在 Gradle 配置中切换为这些镜像 (修改build.gradle文件

    复制代码
    buildscript {
        ext.kotlin_version = '1.6.10'
        repositories {
            maven{ url 'https://maven.aliyun.com/repository/google'} //修改
            maven{ url 'https://maven.aliyun.com/repository/gradle-plugin'} //修改
            maven{ url 'https://maven.aliyun.com/repository/public'} //修改
            maven{ url 'https://maven.aliyun.com/repository/jcenter'} //修改
    
            google()
            mavenCentral()
        }
    
        dependencies {
            classpath 'com.android.tools.build:gradle:7.1.2'
            classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        }
    }
    
    allprojects {
        repositories {
            maven{ url 'https://maven.aliyun.com/repository/google'} //修改
            maven{ url 'https://maven.aliyun.com/repository/gradle-plugin'} //修改
            maven{ url 'https://maven.aliyun.com/repository/public'} //修改
            maven{ url 'https://maven.aliyun.com/repository/jcenter'} //修改
            google()
            mavenCentral()
        }
    }
    
    rootProject.buildDir = '../build'
    subprojects {
        project.buildDir = "${rootProject.buildDir}/${project.name}"
    }
    subprojects {
        project.evaluationDependsOn(':app')
    }
    
    tasks.register("clean", Delete) {
        delete rootProject.buildDir
    }

    如果镜像地址更新参考地址为:

    复制代码
    https://developer.aliyun.com/mvn/view

TIP: 分享一些小技巧;尽量使用flutter run -v 来运行项目,可以看输出log来知道哪里报错了,不用一直傻傻等待! 如果运行输出日志 一直downloading文件,可以观察目录C:\Users\Administrator\.gradle\.tmp 是不是都是0kb文件,如果是就停止就好了。还是网络有问题!