在某些设备上,我使用retrofit框架与服务器通信没有问题。我还使用了多个Android版本来验证代码运行情况。但是在某些设备上(三星S8),每次都会出现一个错误:“握手失败”。有人有任何想法这个问题出现的原因吗?谢谢!
以下是我的代码:
protected static Retrofit getInstanceWithoutToken() {
final OkHttpClient.Builder httpClient = new OkHttpClient.Builder();
httpClient.addInterceptor(new Interceptor() {
@Override
public okhttp3.Response intercept(Chain chain) throws IOException {
final Request original = chain.request();
final Request request = original.newBuilder()
.method(original.method(), original.body())
.build();
return chain.proceed(request);
}
});
return new Retrofit.Builder()
.baseUrl(CommonConstantsRest.REST_URL)
.addConverterFactory(GsonConverterFactory.create())
.client(httpClient.build())
.build();
}
D/OkHttp: <-- HTTP FAILED: javax.net.ssl.SSLHandshakeException: Handshake failed
,而且只在特定设备上出现(这种类型的几个设备都有这个问题,所以我不认为问题出在设备上)。 - Tobias Lukoschek