Android – MultipartEntity and dependencies

J'ai récemment migré mon projet d'Eclipse vers Android Studio (je ne contrôle pas encore cet IDE). Dans ce projet, j'ai un chargeur de fichiers AsyncTask qui envoient plusieurs parties via http. Pour ce faire, j'utilise org.apache.httpcomponents. J'ai créé les dépendances suivantes:

dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'org.apache.httpcomponents:httpcore:4.4' compile 'org.apache.httpcomponents:httpmime:4.4' ... } 

Dans mon code java AsyncTask:

  • Comment créer une vidéo à partir d'un tableau d'images dans Android?
  • Envoyer des SMS dans Android
  • Java.lang.NullPointerException (aucun message d'erreur)
  • Menu de Fab de bibliothèque de support de conception Android
  • Android Listview affiche un seul article
  • Android: propagez l'état parent vers une vue enfant
  •  MultipartEntityBuilder builder = MultipartEntityBuilder.create(); builder.addBinaryBody(...); builder.addBinaryBody(...); builder.addBinaryBody(...); HttpEntity entity = builder.build(); // < throw exception 

    L'exception que j'obtiens lors du chargement de démarrage:

     Caused by: java.lang.NoSuchFieldError: org.apache.http.message.BasicHeaderValueFormatter.INSTANCE at org.apache.http.entity.ContentType.toString(ContentType.java:153) at org.apache.http.entity.mime.MultipartFormEntity.<init>(MultipartFormEntity.java:52) at org.apache.http.entity.mime.MultipartEntityBuilder.buildEntity(MultipartEntityBuilder.java:226) at org.apache.http.entity.mime.MultipartEntityBuilder.build(MultipartEntityBuilder.java:230) 

    Je pense qu'il y a un conflit entre android.jar > httpcomponents et la dépendance org.apache.httpcomponents mais je ne trouve pas une solution pour résoudre mon problème.

  • Quelle taille les icônes de lancement xhdpi devraient-elles être?
  • NoClassDefFoundError: android.support.v7.internal.view.menu.MenuBuilder
  • Puis-je utiliser Visual Studio pour créer des applications Android en HTML5?
  • Android studio gradle duplicate files dagger compilation
  • Envoi de REST Appel vers Google Cloud Le serveur PHPMyAdmin ne fonctionne pas?
  • Comment faire pour copier le fichier en utilisant AdB vers le répertoire Android accessible depuis le PC
  • 4 Solutions collect form web for “Android – MultipartEntity and dependencies”

    J'ai eu le même problème – essayez d'utiliser le http-android-client (cela dépend également du httmime mais nécessite 4.3). Cela a fonctionné pour moi:

     dependencies { compile group: 'org.apache.httpcomponents' , name: 'httpclient-android' , version: '4.3.5.1' compile('org.apache.httpcomponents:httpmime:4.3') { exclude module: "httpclient" } } 

    Solution pour Android Studio

    Cliquez avec le bouton droit de la souris sur l'application en bas à gauche-> Ouvrir les paramètres du module -> Dépendances-> cliquez sur '+' -> 1. bibliothèque dépendante

    Maintenant, la zone "choisir les dépendances du fichier" viendra – fournissez une entrée 'httpmime: 4.4' et cliquez sur le bouton de recherche.

    Il montrera le fichier dependencie. Sélectionnez ce fichier et cliquez sur OK.

    Attendez … il ajoutera le jar et le script Gradle sera mis à jour automatiquement.

     dependencies { compile('org.apache.httpcomponents:httpmime:4.3') { exclude module: "httpclient" } 
     compile group: 'org.apache.httpcomponents' , name: 'httpclient-android' , version: '4.3.5.1' compile('org.apache.httpcomponents:httpmime:4.3') { // httpmime:4.2.1' also worked exclude module: "httpclient" } 
    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.