OkHttp:NoClassDefFoundError
1 问题描述
使用OkHttp
时报错:
Caused by: java.lang.NoClassDefFoundError: kotlin/jvm/internal/Intrinsics
at okhttp3@4.7.2/okhttp3.FormBody$Builder.add(FormBody.kt)
2 原因
由于OkHttp
依赖于okio
,目前OkHttp
最新的版本为4.7.2
,使用Maven
/Gradle
导入的话不会出现该问题,原因应该是只是单纯把OkHttp
的JAR
导入,还需要把okio
一并导入,但是需要知道OkHttp
对应的okio
版本,可以通过Maven
导入查看,比如4.7.2
对应的是2.6.0
。
如果已经添加了okio
则可以跳过,另外还需要添加kotlin-stdlib
库,使用最新版本即可,目前最新版本为1.3.72
。
下载链接此处。
3 解决方案
把对应版本的okio
以及kotlin-stdlib
添加到依赖库即可。