当运行一个改型应用程序时,我得到以下错误:
E/AndroidRuntime:致命异常:OkHttp Dispatcher进程:fr.univ_lehavre.greah.naoderapp,PID:20894java.lang.NosuchMethoderror:lokhttp3/internal/platform类中没有虚方法日志(ljava/lang/string;)V;或其超级类('OKHTTP3.Internal.Platform'的声明出现在/data/app/fr.univ_lehavre.greah.naoderapp-2/split_lib_dependencies_apk.apk)处,位于OKHTTP3.logging.HttpLogGingInterceptor$logger$1.log(httpLogGingInterceptor.java:108)处,位于OKHTTP3.logging.HttpLogGingInterceptor.java:157)处,位于OKHTTP3.realCall$ApplicationInterceptor.java:157),位于.access$100(realcall.java:30)在OKHTTP3.realcall$asynccall.execute(realcall.java:127)在OKHTTP3.internal.namedrunnable.run(namedrunnable.java:32)在java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1133)在java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:607)在
这是我在其中创建referfit对象的类:
public class RetrofitImpl {
private static Retrofit retrofit = null;
public static final String BASE_URL = "http://192.168.43.144:8080/";
// public static final String BASE_URL = "http://10.0.2.2:8080/";
public static Retrofit getClient() {
HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor();
interceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
OkHttpClient client = new OkHttpClient.Builder().addInterceptor(interceptor).build();
retrofit = new Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.client(client)
.build();
return retrofit;
}
}
我不确定应该使用哪个版本。
implementation 'com.squareup.retrofit2:retrofit:2.1.0'
implementation 'com.squareup.retrofit2:converter-gson:2.1.0'
implementation 'com.squareup.okhttp3:okhttp:3.0.0-RC1'
implementation 'com.squareup.okhttp3:logging-interceptor:3.0.0-RC1'
谢谢你。
尝试添加这些版本。
compile 'com.squareup.okhttp3:logging-interceptor:3.9.1'
compile 'com.squareup.retrofit2:retrofit:2.3.0'
我以为这些最新版本应该是兼容的。有一条推文;https://twitter.com/JakeWharton/status/553066921675857922和Retrofit 1.9的更新日志也提到了它。 然而,当我尝试这个: 还是不行。setClient方法抱怨不兼容的客户端对象; 我错过了什么?我还看到OkHttpClient没有实现客户端接口。 我现在使用这种方法;https://medi
我是不是错过了一些图书馆?
SOFATracer 集成 OkHttp 后输出请求的链路数据格式,默认为 JSON 数据格式。 OkHttp 摘要日志(okhttp-digest.log) 以 JSON 格式输出的数据,相应 key 的含义解释如下: key 表达含义 time 日志打印时间 local.app 当前应用名 traceId TraceId spanId SpanId request.url 请求 URL met
D/OKHTTP:主机:www.appido.ir D/OKHTTP:Connection:Keep-Alive d/okhttp:accept-encoding:gzip 1048576------WebKitFormBoundaryJDHM3Si8Enjzaba内容-配置:表单-数据;name=“FlowCurrentChunkSize” 23016-----WebKitFormBoundar
我尝试使用OkHttp 3.12.0中最近添加的一个特性:全操作超时。为此,我还依赖retrofit 2.5.0中新的类,它允许我检索方法注释。 尽管它在使用拦截器中的链方法时工作得很好: 这是因为在呼叫排队之前必须设置呼叫超时吗?(而拦截器在过程中触发得太晚了?),或者这是其他原因?