大概率只有一个原因: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
按照如下步骤检查
-
检查您的网络连接:确保您的网络连接稳定且正常工作。
-
重试构建:有时问题可能是暂时的。尝试重新构建项目,看看下载是否成功。
-
检查防火墙设置:如果您在防火墙后面,请确保防火墙没有阻止下载。您可能需要配置防火墙以允许访问 Maven Central Repository。(一定要注意这里防火墙设置很容易忽略)
-
代理设置:如果您在公司网络中工作,请检查是否需要为 Maven 配置代理设置,以便访问外部存储库。
-
清除 Gradle 缓存:您可以尝试清除 Gradle 缓存,以强制 Gradle 重新下载依赖项。您可以通过删除
~/.gradle/caches
目录中的内容来执行此操作。 -
更新 Gradle 或 Kotlin 版本:确保您在项目中使用的是最新版本的 Gradle 和 Kotlin 插件。
-
检查存储库 URL:确认存储库 URL
https://repo.maven.apache.org/maven2/
可以从您的网络访问。 -
临时解决方法:如果问题仍然存在,您可以尝试从浏览器手动下载
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
-
检查网络连接:首先确保您的网络连接正常,并且没有阻止 Gradle 从 Maven 中央仓库下载所需的文件。您可以尝试使用浏览器访问
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-java/3.10.0/protobuf-java-3.10.0.jar
网址,可以访问会直接下载该文件。 -
检查代理设置:如果您使用代理服务器进行网络连接,请确保 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
)。
-
清除 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
)
-
尝试使用国内镜像:如果连接 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文件,如果是就停止就好了。还是网络有问题!