Qualcuno ha provato a utilizzare una versione più recente di Apache HttpClient su Android? C'è un fastidioso bug nel HttpClient utilizzato da Android e mi chiedevo se avrei incontrato problemi nel tentativo di ridistribuire HttpClient 4.1 con la mia app.Apache HttpClient 4.1 su Android
risposta
Ciò non sembra una buona idea, soprattutto se i nomi dei pacchetti e delle classi non sono stati modificati nella versione più recente del client. Molto probabilmente non sarai in grado di prevedere quale classe viene utilizzata (vecchia o nuova).
Nel caso in cui qualcuno fosse interessato, ho ricostruito la mia app con Apache HttpClient 4.01 e tutto sembra funzionare correttamente. L'app è cresciuta solo di 100kB.
Puoi darci alcune istruzioni passo passo su come costruire contro HTTPClient 4.x invece della versione built-in? – Ognyan
Il mio è cresciuto di 250kB (Apache HttpClient 4.2.1), ultima versione di httpclientandroidlib da luglio 2012 – Twilite
Ogre_BGR: hai trovato qualche soluzione? Sto cercando di riorganizzare da solo l'uso di HttpClient 4.3.1: http://stackoverflow.com/questions/21134237/how-to-repackage-httpclient-4-3-1-and-remove-dependencies-on- commons-logging – Stuck
Stavo eseguendo 4.1 bene fino a quando non ho iniziato a utilizzare ThreadSafeClientConnManager e Scheme che hanno prodotto alcuni errori di runtime.
ERROR/dalvikvm(1077): Could not find method org.apache.http.conn.scheme.Scheme.<init>, referenced from method com.example.MyActivity.download
WARN/dalvikvm(1077): VFY: unable to resolve direct method 3290: Lorg/apache/http/conn/scheme/Scheme;.<init> (Ljava/lang/String;ILorg/apache/http/conn/scheme/SchemeSocketFactory;)V
WARN/dalvikvm(1077): VFY: rejecting opcode 0x70 at 0x0035
ho il sospetto del regime di anziani in API Android è utilizzato, che ha un costruttore diverso.
Ho creato uno script per convertire una versione HttpClient di riserva in un progetto di libreria Android. I pacchetti vengono rinominati in modo tale da non creare confusione sulle classi utilizzate.
Anche ThreadSafeClientConnManager e Schema funzionano correttamente.
Date un'occhiata: httpclientandroidlib
C'è un official Android porto di apache HttpClient si può trovare in maven repository (o cercare "httpclient-Android").
Purtroppo Android è dotato di un fork di apache HttpClient integrato ed è bloccato nella versione 4.0.
- 1. Apache HttpClient 4.1 - Impostazioni proxy
- 2. Apache HttpClient 4.3 su Android 4.4
- 3. Apache HttpClient (4.1 e successivi): come eseguire l'autenticazione di base?
- 4. Modulo apache Android deprecato (HttpClient, HttpResponse, ecc.)
- 5. NoClassDefFoundError - Eclipse - Apache HTTPClient
- 6. Apache Commons HttpClient supporta GZIP?
- 7. Apache HttpClient loadbalancing connessioni pool
- 8. Apache HttpClient GET con corpo
- 9. Progetto Android con httpclient -> http.client (apache), metodo post/get
- 10. AndroidKeystore su 4.1 API
- 11. Richiesta POST HTTP Streaming HTTPClient di Apache?
- 12. HttpClient su Android: NoHttpResponseException tramite UMTS/3G
- 13. java.lang.NoClassDefFoundError: org/apache/http/client/HttpClient
- 14. Come attivare la registrazione per beni comuni apache HttpClient su Android
- 15. Apache HttpClient 4.0 non riesce a timeout per socket su Android
- 16. Apache HttpClient e file di certificato PEM
- 17. Cookie persistenti HttpClient Android
- 18. Cookie HttpClient per Android
- 19. ObjectDisposedException su HttpClient
- 20. Connessione XMPP con Smack 4.1 su Android Studio
- 21. ActionBarCompat + NavigationDrawerFragment non funziona su Android 4.0 e 4.1
- 22. Come autenticarsi con Spnego/Kerberos e HttpClient di Apache?
- 23. java: apache HttpClient> come disabilitare i tentativi
- 24. Come abilitare SNI nella richiesta HTTP utilizzando Apache HTTPComponents HttpClient?
- 25. Come posso assicurarmi che il mio HttpClient 4.1 non abbia perdite di prese?
- 26. Apache HttpClient ottiene aggiungere un'intestazione di intervallo di byte?
- 27. Come usare Smack 4.1 in Android?
- 28. Apache HttpClient che crea un modulo in più post
- 29. Apache HttpClient 4.0-beta2 httppost, come aggiungere un referente?
- 30. Apache HttpClient Connessioni di polling multiple alla strategia del server
Se si utilizza il plug-in Maven Shade, è possibile spostarlo tutto in un altro pacchetto e salvarlo utilizzando. –