问题: 突然某天打开AndroidStudio 后,正常的项目 提示Read timed out 错误
Caused by: java.net.SocketTimeoutException: Read timed out
at org.apache.http.impl.io.SessionInputBufferImpl.streamRead(SessionInputBufferImpl.java:137)
at org.apache.http.impl.io.SessionInputBufferImpl.read(SessionInputBufferImpl.java:198)
at org.apache.http.impl.io.ContentLengthInputStream.read(ContentLengthInputStream.java:176)
at org.apache.http.conn.EofSensorInputStream.read(EofSensorInputStream.java:135)
at org.gradle.internal.resource.transfer.AbstractProgressLoggingHandler$ProgressLoggingInputS
tream.read(AbstractProgressLoggingHandler.java:77)
at com.google.common.io.CountingInputStream.read(CountingInputStream.java:62)
at org.apache.commons.io.IOUtils.copyLarge(IOUtils.java:1792)
at org.apache.commons.io.IOUtils.copyLarge(IOUtils.java:1769)
at org.gradle.internal.resource.transfer.DefaultCacheAwareExternalResourceAccessor
$DownloadAction.execute(DefaultCacheAwareExternalResourceAccessor.java:249)
at org.gradle.internal.resource.transfer.AccessorBackedExternalResource.withContentIfPresent
(AccessorBackedExternalResource.java:137)
... 40 more
效果图:
分析
出现这个问题的主要原因就是读取超时。也就是你项目依赖的maven库 访问链接超时
超时有很多原因,但是大概也是以下几种:
1.你的网络不稳定,造成访问远程maven库超时-- 我当前就是这种。
2.你的maven库依赖的服务器当前无法访问。---默认依赖的maven源是国外的。
3.你项目依赖的maven SDK 可能在服务器上被删除了---- 概率太小。
4.你的项目maven依赖的版本过低----除非你五六年都没有更新过了。
解决
根据问题可能原因进行相关处理就可以了。
而我们现在默认maven库都是用国内的镜像,这样访问稳定而且还快。
或者你如果是网络抖动造成的。你刷新一下,重新gradle一下,就可以了。
疑问
有小同学就会问了,为啥昨天还可以,今天就不行了?
有下面几种可能
1.你的本地maven缓存被清理了。可能是缓存太大,被清理了。
2.Android Studio在启动的时候,会校验一下本地和网络md5 等文件是否有更新。然后链接判断的时候访问超时了。
评论区