Antecedentes
En Android Marshmallow, Google ha eliminado por completo la compatibilidad con el cliente HTTP Apache (enlace aquí ) porque no tiene un buen rendimiento en comparación con las alternativas.
Esta también podría ser la causa de que muchas aplicaciones se bloqueen en Android Marshmallow.
El problema
Google le permite seguir usando esta API, pero no como una integrada, agregando esta línea al archivo gradle:
useLibrary 'org.apache.http.legacy'
Entonces, esto es lo que hice:
dependencies {
classpath 'com.android.tools.build:gradle:1.3.0'
}
Y:
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"
}
Cuando lo probé, se compiló bien (no se muestran errores y pude ejecutar la aplicación de prueba de concepto, ya que no tiene ningún código especial), pero cuando intenté usar algunas de las clases, sé que son parte de la antigua API (como la clase "HttpClient"), veo que no me permite hacerlo.
Sé que no se recomienda usar esta solución, pero debemos tener la aplicación lista para funcionar allí al menos temporalmente, hasta que trabajemos al 100% en todas las cosas que deberían cambiar para Android Marshmallow, y no queremos sorpresas en el forma de choques.
Aquí hay una captura de pantalla:
La pregunta
¿Por qué ocurre? ¿Lo usé correctamente?
EDITAR: informó sobre este problema aquí: