Android 使用CertificatePaner改造okhttpclient

Android 使用CertificatePaner改造okhttpclient,android,retrofit,okhttp,retrofit2,okhttp3,Android,Retrofit,Okhttp,Retrofit2,Okhttp3,我正在使用OkHttp 3.0.0-RC1对2.0.0-beta3进行改造,并面临以下小问题。我连接到的HTTPS服务器在我使用CertificatePaner和OkHttp调用时工作正常,但在改型调用时不工作,即使我在改型实例中设置了相同的客户端 String hostname = "hostname"; CertificatePinner certificatePinner = new CertificatePinner.Builder() .add(hostname, "s

我正在使用OkHttp 3.0.0-RC1对2.0.0-beta3进行改造,并面临以下小问题。我连接到的HTTPS服务器在我使用CertificatePaner和OkHttp调用时工作正常,但在改型调用时不工作,即使我在改型实例中设置了相同的客户端

String hostname = "hostname";
CertificatePinner certificatePinner = new CertificatePinner.Builder()
        .add(hostname, "sha1/rNKiM/IsTzTMJ09jpMtPq4qP+Q8=")
        .add(hostname, "sha1/hL8+j9RH89wlAW7eNDSS1ZlZ8Z8=")
        .build();
OkHttpClient client = new OkHttpClient.Builder().certificatePinner(certificatePinner).build();

// This call works
OkHttpClient client = new OkHttpClient.Builder().certificatePinner(certificatePinner).build();
Request request = new Request.Builder()
    .url("https://" + hostname + "/api/me")
    .addHeader("Authorization", "Bearer token")
    .build();
okhttp3.Call call = client.newCall(request);
//execute call returns 200 with response

// This is not working and throwing SSL Connection Error
retrofit = new Retrofit.Builder()
        .baseUrl("https://" + hostname)
        .addConverterFactory(GsonConverterFactory.create(gson))
        .client(client)
        .build();

这是应用程序中的一个错误,客户端是在以下代码之前创建的:

ProviderInstaller.installIfNeeded(getApplication());

顺序现在已经确定,代码工作正常

“不工作”是什么意思?@Robert现在已经修复了,我在执行顺序中发现了一个错误。我已经把我的答案写在下面了