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。
OkHttp:NoClassDefFoundError
如果已经添加了okio则可以跳过,另外还需要添加kotlin-stdlib库,使用最新版本即可,目前最新版本为1.3.72。
下载链接戳这里

3 解决方案

把对应版本的okio以及kotlin-stdlib添加到依赖库即可。

上一篇:OkHttp原理


下一篇:OkHttp 如何提交 POST 请求?