原因:
就在昨天下班之前我还好好的运行了一遍项目没有任何的问题,今天早上到达公司,准备开始写项目时
令我震惊的事情出现了 没错它就是我们今天的主题 Read timed out(读取超时)
原本我天真的以为只是网络的问题,当我一遍遍运行重启时还是这个问题的时候,我就明白这个不是重启可以解决的
当然出现这个错误不止是一种情况可以出现的,可能会有好多种原因会出现这种问题。
我现在这个解决方法呢只是给大家作为一个参考,如果有遇到的小伙伴可以用我的方法试一试。
我们现在就说一下我今天遇到的这个问题。话不多说上图。

android studio 使用udp发送消息时出现source code does not match the byte code android studio read time out_依赖库


android studio 使用udp发送消息时出现source code does not match the byte code android studio read time out_依赖库_02


上面两个图就是我今天问题的罪魁祸首,被白条挡住的是一些不重要的东西,而且我在上面写了说明,先来分析一下问题的原因,本来看到第一章张的时候,我以为是网络的问题然后试了一些方法确定不是网络的问题,然后又去看第二张图,看到第一句话,我就明白这个问题不好找,小伙伴们记住as项目中出问题好找,但是as如果本身出现问题这就相当于一个大山难以跨越,没办法还要写项目 我就去网上找这个问题答案,看到第一句话和最后一句话首先我就确定了是gradle版本的问题,我就去找,然后找到一篇说是gradle版本不兼容的问题,是因为as的版本跟gradle版本不一致,说一下我的as版本是4.0.1的、gradle是6.1.1 我以为就是这个问题然后去改,改成了gradle改成了6.3 然后满怀期待,可是现实给了我一个锤子,没好,我没办法了去找公司以为大佬,大佬说清除缓存重新启动让我试一试,还是不管用,因为大佬跟我不在一个地区,就没再打扰他,想着吧as重新卸载然后安装,但是我不甘心,别的项目都没问题,就这个有问题,我就继续开始自己的解密之旅。

上面分析了也实践了不是gradle的问题 那就根据问题继续往下找,看第二句What went wrong(问题在哪里) 往下面看,看到了retrofit2直接锁定它 我们纳闷它能出什么问题,去看了看我项目中引入的依赖库。

//retrofit2.0依赖
implementation 'com.squareup.retrofit2:retrofit:+'
//让retrofit支持Gson自动解析json
implementation 'com.squareup.retrofit2:converter-gson:+'
//让retrofit支持Rxjava2
implementation 'com.squareup.retrofit2:adapter-rxjava2:+'
// 标准转换器,去掉 Retrofit以Mutipart上传参数时,String参数会多一对双引号
implementation 'com.squareup.retrofit2:converter-scalars:2.3.0'
//Rxjava依赖
implementation 'io.reactivex.rxjava2:rxjava:+'
implementation 'io.reactivex.rxjava2:rxandroid:+'

看到这我觉得我写的没有问题,但是问题就是出现在它身上,为什么我不觉得他有问题 理由有一个,就是我用这些依赖库不止写了一个项目,所以我认定他没有问题,事实是他就是有问题,每个依赖库最后都有个+号 大家看到没,问题就出在了这个上面,这个+号是什么?这个加号+的意思是保证依赖最新版本号的文件,明明是最新的,但就是出了问题,我就去找这些库的依赖,找到了几个已经改掉了,下面是我改掉后的依赖。

//retrofit2.0依赖
implementation 'com.squareup.retrofit2:retrofit:2.1.0'
//让retrofit支持Gson自动解析json
implementation 'com.squareup.retrofit2:converter-gson:2.1.0'
//让retrofit支持Rxjava2
implementation 'com.squareup.retrofit2:adapter-rxjava2:2.3.0'
// 标准转换器,去掉 Retrofit以Mutipart上传参数时,String参数会多一对双引号
implementation 'com.squareup.retrofit2:converter-scalars:2.3.0'
//Rxjava依赖
implementation 'io.reactivex.rxjava2:rxjava:2.2.13'
implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'

改掉之后他就可以正常运行,不得不吐槽一下as有时候确实莫名其妙的出问题,大家可以看一下第一篇文章我为什么会写文章,因为全是as的锅,第一篇也是因为as出了问题而且我还找不到答案,最后还是靠自己摸索搞定的,其实今天这个问题我是真的没有想到,原因就是前面几个项目都没出问题,昨天还没出问题今天就出了这个问题,心累啊~希望大家谨记不要使用+号了 正好我趁这个机会大改一下。

小技巧

这个问题其实不难解决,这次就是吃了不会英语的亏,英语很重要的,小伙伴们有条件的可以学习一下,小技巧就是如果出现这样的问题,那都不用看 就看 What went wrong问题原因的所在,小伙伴们要牢记,下期再见了!