天天看點

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的錯誤怎麼辦?