¿Cómo agregar la API HTTP de Apache (heredada) como dependencia en tiempo de compilación a build.grade para Android M?

Resuelto Virat Singh asked hace 54 años • 11 respuestas

Como se menciona aquí , Android M no admitirá la API HTTP de Apache. Los documentos afirman:

utilice la clase HttpURLConnection en su lugar.

o

Para continuar usando las API HTTP de Apache, primero debe declarar la siguiente dependencia en tiempo de compilación en su archivo build.gradle:

android { useLibrary 'org.apache.http.legacy' }

He convertido gran parte del uso de HttpClient en mi proyecto a HttpURLConnection; sin embargo, todavía necesito usar HttpClient en algunas áreas. Por lo tanto, estoy intentando declarar 'org.apache.http.legacy' como una dependencia en tiempo de compilación pero aparece un error en build.gradle:

Método Gradle DSL no encontrado: 'useLibrary()'

Mi pregunta es: ¿cómo declaro 'org.apache.http.legacy' como una dependencia en tiempo de compilación en mi proyecto?

Cualquier ayuda es muy apreciada. Gracias

Virat Singh avatar Jan 01 '70 08:01 Virat Singh
Aceptado

Para API 23:

Nivel superior build.gradle - /build.gradle

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

Módulo específico build.gradle - /app/build.gradle

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.0"
    useLibrary 'org.apache.http.legacy'
    ...
}

Documentos oficiales (aunque para vista previa): http://developer.android.com/about/versions/marshmallow/android-6.0-changes.html#behavior-apache-http-client

Último registro de cambios del complemento Gradle de Android: http://tools.android.com/tech-docs/new-build-system

hidro avatar Aug 20 '2015 02:08 hidro

Otra alternativa es simplemente agregar la dependencia jbundle. Esto es más compatible con Android Studio ya que Android Studio no muestra el mensaje "no se puede resolver el símbolo..."

 dependencies {
    compile 'org.jbundle.util.osgi.wrapped:org.jbundle.util.osgi.wrapped.org.apache.http.client:4.1.2'
 }
Hesham Fas avatar Aug 19 '2015 00:08 Hesham Fas