Okhttp4,无法访问“body”:它在“Response”中是包私有的

And*_*i K 3 android kotlin okhttp

根据迁移指南,在替换“response.body()?”时,我正在从 okhttp 3.14 迁移到 okhttp4 调用“response.body?” IDE在代码的最后一行显示错误“无法访问 'body': it is package-private in 'Response'”

val request = Request.Builder().url(url).build()
        val response = coreNetwork.getOkHttp().newCall(request).execute()
        val stream = response.body?.source()?.inputStream()
Run Code Online (Sandbox Code Playgroud)

如果我尝试“response.body()?” 调用,显示错误“使用 'body(): ResponseBody?' 是一个错误。按预期移至 val "。

And*_*i K 6

解决了,我开始观察每次导入链接到哪个版本的 okhttp ,以及链接到okhttp-3.12.0.jar的一个接口。该接口属于单独的 gradle 模块,我发现我忘记将依赖项“实现“com.squareup.okhttp3:okhttp:4.2.2” ”添加到该模块的 .gradle 文件中。(在这种情况下,类根本不应该找到 okhttp 依赖项,但不知何故找到了旧版本并依赖于它)