ClassNotFoundException: не нашел класс SchemeRegistry на Android 9 - PullRequest
0 голосов
/ 09 октября 2018

Я использую следующий API OkHttp для установки фабрики SSL:

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"

Что я могу сделать, чтобы избежать аварийного сбоя?

1 Ответ

0 голосов
/ 09 октября 2018

Устаревший класс 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> в вашем манифесте.

...