Gradle引用
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
api 'com.squareup.okhttp3:okhttp:3.10.0'
}
正常引用okhttp在build.gradle里面添加一行api 'com.squareup.okhttp3:okhttp:3.10.0'就可以了。
如果改成以jar包的方式引入,是否也是下載一個對應(yīng)的jar包就可以了呢?
首先我們來到okhttp官網(wǎng)下載一個jar包,將它放入libs文件夾,同步(Sync)一下。
然后你用okhttp去寫網(wǎng)絡(luò)請求相關(guān)代碼,最后跑起你的項目代碼。
你會發(fā)現(xiàn)報如下錯誤:
錯誤: 無法訪問ByteString找不到okio.ByteString的類文件
okio是什么鬼?我代碼里也沒用到它呀?
不管了,先解決問題再說。(大概是okhttp框架里用到的)
其中一個可靠的答案給了我線索: 《OkHTTP error cannot access ByteString》
它提供了okio的官方GitHub地址:https://github.com/square/okio
在GitHub的項目說明里拖到最下方有個“Download”,這就是最新的okio下載途徑。
下載完okio,將其放入libs文件夾下,同步代碼,運行程序。
接著又報錯了:
此刻的我是崩潰的,內(nèi)心都涼了。
沒辦法,繼續(xù)找答案……
又找到一個可靠的回答:《kotlin/TypeCastException when trying to create OkHttpClient object》
里面有個回答者給出需要下載的kotlin-stdlibjar包地址:
I had the same problem. Add kotlin-stdlib JAR to the build Path
這個回答解了我的燃眉之急,“我可以叫你雷鋒嗎(可愛)”。
下載下來以后,同樣放到libs里面,再次同步,運行項目。
這次終于正常運行了!
附上最后libs里面擁有的jar包們:

所以說……
你以為下載一個對應(yīng)okhttp的jar包就行了?
當(dāng)然不是!!!
這也側(cè)面反應(yīng)了第三方框架的繁重。
以上是這次的分享,如果你有問題,歡迎留言告訴我,我會盡力回答。
我是毛毛,感恩遇見你??


