flutter开发-解决gradle包不能正常下载的问题
·
错误
创建一个flutter项目,运行时出现如下报错:

报错信息如下:
Running Gradle task 'assembleDebug'...
Exception in thread "main" java.net.SocketException: Connection reset
at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:328)
at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:355)
at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:808)
at java.base/java.net.Socket$SocketInputStream.read(Socket.java:966)
at java.base/sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:484)
at java.base/sun.security.ssl.SSLSocketInputRecord.readHeader(SSLSocketInputRecord.java:478)
at java.base/sun.security.ssl.SSLSocketInputRecord.decode(SSLSocketInputRecord.java:160)
at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:111)
at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1510)
at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1425)
at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:455)
at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:426)
at java.base/sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:589)
at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:187)
at java.base/sun.net.www.protocol.http.HttpURLConnection.followRedirect0(HttpURLConnection.java:2944)
at java.base/sun.net.www.protocol.http.HttpURLConnection.followRedirect(HttpURLConnection.java:2853)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1949)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1611)
at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:224)
at org.gradle.wrapper.Download.downloadInternal(Download.java:58)
at org.gradle.wrapper.Download.download(Download.java:44)
at org.gradle.wrapper.Install$1.call(Install.java:61)
at org.gradle.wrapper.Install$1.call(Install.java:48)
at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:65)
at org.gradle.wrapper.Install.createDist(Install.java:48)
at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:128)
at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:61)
[!] Gradle threw an error while downloading artifacts from the network.
方法
在网络上找了许多,总结出以下方法,大家可以一个一个尝试,各方法之间不具备特定顺序。
1.确保计算机网络正常
请读者检查网络是否正常连接:
能否正常访问互联网:访问任意网页,以检测是否可以正常访问。
VPN节点是否可以正常使用:检查节点延迟,访问任意网页,以检测是否可以正常访问。
IP及DNS是否正确配置:点击设置-网络-对应网络-属性,查看相关设置是否正常,如果可以,推荐直接使用DHCP服务。
防火墙是否拦截访问:可以暂时关闭防火墙之后重试。
2.配置国内镜像
进入android/build.gradle文件,插入如上内容:
buildscript {
repositories {
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/jcenter' }
maven { url 'https://maven.aliyun.com/nexus/content/groups/public' }
}
}
allprojects {
repositories {
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/jcenter' }
maven { url 'https://maven.aliyun.com/nexus/content/groups/public' }
}
}
3.手动下载相关文件,并引入

找到写明gradle版本的文件,并将相关链接复制。如:
https\://services.gradle.org/distributions/gradle-7.6.3-all.zip(请删除https后的'\')
现在将这个链接粘贴到浏览器地址栏中,下载这个文件。文件保存位置不做要求,只需要保证地址中没有空格、中文等即可,同时将地址写回链接所在的文件中,如:

distributionUrl=file:///D:/Codes/flutter/demossss/gradle-7.6.3-all.zip
通常来说,第三个方法的可用性最高,至少本人是到了这一步才完成的。
如果还有其他方法,也欢迎大家在评论区中指出。
更多推荐

所有评论(0)