¿Cómo agregar la API HTTP de Apache (heredada) como dependencia en tiempo de compilación a build.grade para Android M?
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
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
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'
}