「okhttp」Gradle引用改jar包引用(一波三折)
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-stdlib
jar包地址:
I had the same problem. Add kotlin-stdlib JAR to the build Path
这个回答解了我的燃眉之急,“我可以叫你雷锋吗(可爱)”。
下载下来以后,同样放到libs里面,再次同步,运行项目。
这次终于正常运行了!
附上最后libs里面拥有的jar包们:
所以说……
你以为下载一个对应okhttp的jar包就行了?
当然不是!!!
这也侧面反应了第三方框架的繁重。
以上是这次的分享,如果你有问题,欢迎留言告诉我,我会尽力回答。
我是毛毛,感恩遇见你❤️
(2019-01-29 00:29)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Xcode 5 中 xib 文件格式的调整
- 调用新浪微博显示用户信息
- 如何用代码动态生成ABAP类型
- 使用自签名证书内部分发 iOS7 应用
- 在 MvvmCross 下使用 iOS Storyboard
- 动态隐藏某些特殊类型的SAP CRM附件
- 设计模式之生成器模式
- Git 客户端保存用户名和密码
- SAP WebClient UI component模型元数据解析工具
- 设计模式之抽象工厂模式
- 测试面试题集锦(四)| Linux 与 Python 编程篇(附答案)
- 设计模式之代理模式
- SQL Server 中的 ROW_NUMBER 函数
- NHibernate 批量数据插入测试
- MvvmCross 框架中 ViewModel 之间的导航以及生命周期