java - 无法从 okhttp 导入请求和响应类

标签 java android cordova okhttp

我正在使用 cordova 开发 Android 应用程序。我有一个自定义插件正在尝试使用 OkHttp。

在其中,这里有一个相关的导入集合:

import com.squareup.okhttp.MediaType;
import com.squareup.okhttp.OkHttpClient;
import com.squareup.okhttp.Request; // line 36
import com.squareup.okhttp.RequestBody;
import com.squareup.okhttp.Response; // line 38

我在构建过程中遇到了这个错误:

[javac] /path/to/class/SomeClass.java:36: error: Request is not public in com.squareup.okhttp; cannot be accessed from outside package
[javac] import com.squareup.okhttp.Request;
[javac]                           ^
[javac] /path/to/class/SomeClass.java:38: error: Response is not public in com.squareup.okhttp; cannot be accessed from outside package
[javac] import com.squareup.okhttp.Response;
[javac]                           ^

我正在使用最新的可用 jar 文件 - okhttp-2.0.0.jar、最新的 Java JDK 版本 (1.8.0_20) 等

我错过了什么?查看okhttp的源代码和他们的例子,这些类肯定是Public的。此外,我从 com.squareup.okhttp 导入的其他内容都运行良好...

谢谢!

最佳答案

事实证明,cordova 附带了它自己的 okhttp 版本,目前是 v1.3 - 这是旧的,并且具有很大不同的 API。也就是说,请求和响应类不是公开的。

我的问题是编译器没有使用我包含在我的 cordova 插件中的 okhttp v2 的 jar。不想处理这些问题,我更新了我的代码以与 v1.3 和 filed a bug 内联。用于在 Cordova 的问题跟踪器中将 okhttp 的版本更新到 2+。

关于java - 无法从 okhttp 导入请求和响应类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25880866/

相关文章:

java - 将按钮添加到自定义 View

android - 将值从一个 Activity 检索到另一个 Activity 时导致应用程序崩溃

java - 从多个线程可靠地写入一个 PrintWriter

java - 这些通用声明之间有什么区别?

java - Android持久化有什么用?

java - kotlin 中的 supportFragmentManager.commit 不起作用

angular - 如何在 Angular 4 项目中使用 cordova-plugin-qrscanner

ios - phonegap iOS 旋转

java - Android fragment 问题

java - 管理面板中的静态资源预览