首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >「okhttp」Gradle引用改jar包引用(一波三折)

「okhttp」Gradle引用改jar包引用(一波三折)

作者头像
毛大姑娘
发布2020-09-10 15:22:09
2.3K0
发布2020-09-10 15:22:09
举报
文章被收录于专栏:向全栈出发向全栈出发

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包的方式引入,是否也是下载一个对应的jar包就可以了呢?

首先我们来到okhttp官网下载一个jar包,将它放入libs文件夹,同步(Sync)一下。

然后你用okhttp去写网络请求相关代码,最后跑起你的项目代码。 你会发现报如下错误: 错误: 无法访问ByteString找不到okio.ByteString的类文件

okio是什么鬼?我代码里也没用到它呀?

不管了,先解决问题再说。(大概是okhttp框架里用到的)

其中一个可靠的答案给了我线索: 《OkHTTP error cannot access ByteString》

它提供了okio的官方GitHub地址:https://github.com/square/okio

在GitHub的项目说明里拖到最下方有个“Download”,这就是最新的okio下载途径。

下载完okio,将其放入libs文件夹下,同步代码,运行程序。

接着又报错了:

此刻的我是崩溃的,内心都凉了。

没办法,继续找答案……

又找到一个可靠的回答:《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包们:

所以说……

你以为下载一个对应okhttp的jar包就行了?

当然不是!!!

这也侧面反应了第三方框架的繁重。

以上是这次的分享,如果你有问题,欢迎留言告诉我,我会尽力回答。

我是毛毛,感恩遇见你❤️

(2019-01-29 00:29)

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年01月29日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Gradle引用
  • 这次终于正常运行了!
    • 当然不是!!!
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档