Compilación de la biblioteca de descargas de Google API 23 Android Marshmallow

Estoy utilizando la biblioteca de descargas de Google para descargar el paquete de expansión distribuido a través del gestor de Android SDK. Construir usando Eclipse / Ant ya que no han migrado a AS / Gradle todavía – pero cualquier solución ayudaría.

En API 23 Apache HTTP desaparece. Y ya implementé una solución para obtener LVL de Google para compilar. ( Biblioteca Lvl y melcocha android )

Pero la biblioteca de descarga es una bestia sustancialmente más grande para hacer frente y no estoy seguro de que realmente quiero arreglar el código de Google – probablemente sólo escribir mis propios en su lugar si es necesario.

¿Alguien sabe de una conveniente "gota en" (-ish) biblioteca de reemplazo o solución adecuada?

~~

Compile los errores de las importaciones no disponibles en 'com.google.android.vending.expansion.downloader.impl.AndroidHttpClient'

Import org.apache.http.Header; Import org.apache.http.HttpEntity; Import org.apache.http.HttpEntityEnclosingRequest; Import org.apache.http.HttpException; Import org.apache.http.HttpHost; Import org.apache.http.HttpRequest; Import org.apache.http.HttpRequestInterceptor; Import org.apache.http.HttpResponse; Import org.apache.http.client.ClientProtocolException; Import org.apache.http.client.HttpClient; Import org.apache.http.client.ResponseHandler; Import org.apache.http.client.methods.HttpUriRequest; Import org.apache.http.client.params.HttpClientParams; Import org.apache.http.client.protocol.ClientContext; Import org.apache.http.conn.ClientConnectionManager; Import org.apache.http.conn.scheme.PlainSocketFactory; Import org.apache.http.conn.scheme.Scheme; Import org.apache.http.conn.scheme.SchemeRegistry; Import org.apache.http.conn.scheme.SocketFactory; Import org.apache.http.conn.ssl.SSLSocketFactory; Import org.apache.http.entity.AbstractHttpEntity; Import org.apache.http.entity.ByteArrayEntity; Import org.apache.http.impl.client.DefaultHttpClient; Import org.apache.http.impl.client.RequestWrapper; Import org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager; Import org.apache.http.params.BasicHttpParams; Import org.apache.http.params.HttpConnectionParams; Import org.apache.http.params.HttpParams; Import org.apache.http.params.HttpProtocolParams; Import org.apache.http.protocol.BasicHttpContext; Import org.apache.http.protocol.BasicHttpProcessor; Import org.apache.http.protocol.HttpContext;

Bueno, un poco de github buscando y encontró una solución. Irónicamente, se menciona en stackoverflow demasiado – Simplemente no utilizar palabras clave adecuadas en mi búsqueda supongo. Así que si llegas aquí, entonces salta a la pregunta / respuesta / solución de SMarek y da +1 a la respuesta. Solución: (http://stackoverflow.com/q/32178854/735533) Biblioteca: (https://github.com/smarek/httpclient-android)

Editar:

NOTA: A partir del 26 de octubre de 2015, la biblioteca de SMarek anterior no se genera correctamente como es

Mientras tanto, resulta que hay una solución "más fácil" para los usuarios de Ant en lugar de la opción "usesLibrary org.apache.http.legacy" para los usuarios de gradle.

  • Copia SDK/platforms/android-23/optional/org.apache.http.legacy.jar en el directorio ./libs de la aplicación
  • (Y añadir jar para construir la ruta de acceso de clase, etc)
  • A continuación, añada lo siguiente a proguard

    -keep class org.apache.http.** { *; }
    -dontwarn org.apache.http.**
    -dontwarn android.net.**

NOTA: El android.net 'dontwarn' enmascarará las llamadas de OpenSSL ("android.net.http.SslCertificate"). En mi caso surge de WebKit que no estoy usando (aunque las librerías de terceros podrían)

Desafortunadamente, empujó mi aplicación sobre el límite de 65k. Nunca un momento aburrido.

  • ¿Qué versión de httpmime puedo usar con HttpClient de Android?
  • No se puede resolver host: URL Ninguna dirección asociada con hostname
  • Ejecutar script php a través de la aplicación para Android
  • ¿Puedo usar una sola instancia de AndroidHttpClient para múltiples llamadas simultáneas?
  • Google Volley vs Android-Async-Http
  • Tiempo de espera predeterminado de Android MediaPlayer
  • Métodos de HTTP desautorizado advertencia en el estudio de Android
  • Obtener NoSuchFieldError INSTANCE org / apache / http / message / BasicHeaderValueParser
  • ¿Con qué puedo reemplazar http métodos obsoletos?
  • Apoyo de mejora SNI
  • HttpClientBuilder falta en Android?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.