Как использовать устаревший HTTP-клиент Apache на Android Marshmallow?

Фон

На Android Marshmallow Google полностью убрал поддержку HTTP-клиента Apache (ссылкаВот) потому что он не имеет хорошей производительности по сравнению с альтернативами.

Это также может быть причиной падения многих приложений на Android Marshmallow.

Эта проблема

Google позволяет вам использовать этот API, но не как встроенный, добавив эту строку в файл Gradle:

useLibrary 'org.apache.http.legacy'

Итак, вот что я сделал:

dependencies {
    classpath 'com.android.tools.build:gradle:1.3.0'
}

А также:

android {
    compileSdkVersion 'android-MNC'
    buildToolsVersion "23.0.0 rc3"
    useLibrary 'org.apache.http.legacy'

    defaultConfig {
        applicationId "com.example.user.androidmtest"
        minSdkVersion 'MNC'
        targetSdkVersion 'MNC'
        versionCode 1
        versionName "1.0"
    }

Когда я попробовал его, он скомпилировался нормально (ошибок не было, и я мог запустить приложение для проверки концепции, так как у него нет специального кода), но когда я попытался использовать некоторые из известных мне классов, являются частью старого API (например, класса «HttpClient»), я вижу, что он не позволяет мне это делать.

Я знаю, что не рекомендуется использовать это решение, но у нас должно быть приложение, готовое работать там хотя бы временно, пока мы не будем работать на 100% над всеми вещами, которые должны измениться для Android Marshmallow, и мы не хотим сюрпризов в форма аварий.

Вот скриншот:

Вопрос

Почему это происходит? Я правильно использовал это?

РЕДАКТИРОВАТЬ: сообщил об этой проблеме здесь:

https://code.google.com/p/android/issues/detail?id=181474

Ответы на вопрос(12)

Ваш ответ на вопрос