Java 无法从okhttp导入请求和响应类
我正在使用cordova开发Android应用程序。我有一个自定义插件,它正在尝试使用OkHttp 其中,以下是相关的进口产品集合:Java 无法从okhttp导入请求和响应类,java,android,cordova,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.square
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的源代码及其示例,这些类肯定是公开的。此外,我从com.squareup.okhttp
导入的其他内容也很顺利
谢谢 事实证明,cordova附带了自己的okhttp版本,目前是v1.3,这是一个很旧的版本,并且有很多不同的API。也就是说,请求和响应类不是公共的
我的问题是,我在cordova插件中包含的okhttpv2的jar没有被编译器使用。由于不想处理这些问题,我已将代码更新为与v1.3兼容,并在Cordova的问题跟踪程序中将okhttp版本更新为2+。将其添加到您的应用程序级别build.gradle中
dependencies {
implementation 'com.squareup.okhttp3:okhttp:3.14.4'
}
您是如何在1.3.0中更新okhttp使用的?当您无法访问请求或响应类时,您使用什么?