我正在使用以下OkHttp API设置SSL Factory:
OkHttpClient.Builder.sslSocketFactory(sslContext.getSocketFactory(), x509TrustManager);
要获取
sslContext
,我需要创建SchemeRegistry
:SchemeRegistry schemeRegistry = new SchemeRegistry();
schemeRegistry.register(new Scheme("https", new SslSocketFactory(sslContext), 443));
但是,这将导致以下崩溃:
ClassNotFoundException: Didn't find class "org.apache.http.conn.scheme.SchemeRegistry"
我该怎么做才能避免坠机?
最佳答案
过时的SchemeRegistry
类在Android P上不再可用。
如果您仍然想要/需要使用旧版HTTP API,
useLibrary 'org.apache.http.legacy'
在
android
的build.gradle
部分中,您还需要添加 <uses-library
android:name="org.apache.http.legacy"
android:required="false" />
清单中的
<application>
标签。