天天看点

okhttp3出现java.lang.NoClassDefFoundError: okio.Buffer的错误怎么办?

okhttp3出现java.lang.NoClassDefFoundError: okio.Buffer的错误怎么办?

问题出现,写完的APP,突然要求要把功能打包成jar包,供别人使用,就开始一顿百度,查找Android studio打包jar流程,后来发现这篇博客写的还不错,亲测流程写的比较合理。访问这个即可,点击打开链接,然后自己按照上面提供的方法,一步一步来,过程一点问题都没有,就是结果还是崩,尝试了多个别人的方案后发现,基本大家的流程都是相似的,那就应该时我在打包时别的地方出了问题,果然控制台显示java.lang.NoClassDefFoundError: okio.Buffer,类没有找到可能是jar没有找到,但是后面的okio.Buffer就不对了,于是百度这个错误,果然使用OKhttpxu需要两个jar包的,由于之前是直接在Android studio中搜索添加的,默认会把依赖的jar包都添加进来,自己手动添加时以为只有一个jar包,当做教训了。下面是解决方案:

        发现原来我仅仅只是在项目的libs中加入了okhttp.jar,没有加入okio.jar, 

而okhttp需要用到okio中的Buffer类,因此把okio.jar加入后,并且把这个jar配置到Build path的Libraries中,问题解决,可以正常运行了。

okhttp3出现java.lang.NoClassDefFoundError: okio.Buffer的错误怎么办?