web-dev-qa-db-fra.com

Apache HttpClient Android (Gradé)

J'ai ajouté cette ligne à mon build.gradle

compile group: 'org.Apache.httpcomponents' , name: 'httpclient-Android' , version: '4.3.5'

et je veux utiliser MultipartEntityBuilder dans mon code. Cependant, Android studio n'ajoute pas la bibliothèque à mon code. Est-ce que quelqu'un peut m'aider avec ça?

52
Hirad Roshandel

si vous utilisez un sdk cible en tant que 23, ajoutez le code ci-dessous dans votre build.gradle

Android{
 useLibrary  'org.Apache.http.legacy'
}

note supplémentaire ici: n'essayez pas d'utiliser les versions de ces fichiers. ils sont cassés (28.08.15). J'ai essayé plus de 5 heures pour le faire fonctionner. ça ne marche pas. ne fonctionne pas:

compile 'org.Apache.httpcomponents:httpcore:4.4.1'
compile 'org.Apache.httpcomponents:httpclient:4.5'

autre chosene pas utiliser:

'org.Apache.httpcomponents:httpclient-Android:4.3.5.1'

son niveau de référence 21 api.

127
Jinu

La réponse acceptée ne me semble pas tout à fait juste. Il est inutile de faire glisser une version différente de HttpMime quand on peut compter sur la même version.

compile group: 'org.Apache.httpcomponents' , name: 'httpclient-Android' , version: '4.3.5'
compile (group: 'org.Apache.httpcomponents' , name: 'httpmime' , version: '4.3.5') {
    exclude module: 'org.Apache.httpcomponents:httpclient'
}
24
ok2c

Essayez d'ajouter ceci à vos dépendances:

compile 'org.Apache.httpcomponents:httpclient:4.4-alpha1'

Et généralement si vous voulez utiliser une bibliothèque et que vous recherchez la ligne de dépendance de Gradle, vous pouvez utiliser Gradle Please

EDIT: Vérifiez this un aussi.

7
Pavlos

Aucun des autres n'a travaillé pour moi. J'ai dû ajouter la dépendance suivante, comme expliqué ici

compile group: 'cz.msebera.Android' , name: 'httpclient', version: '4.4.1.1'

parce que je visais l'API 23.

J'ai résolu le problème en ajoutant ce qui suit à mon fichier build.gradle

Android {
useLibrary 'org.Apache.http.legacy'}

Cependant, cela ne fonctionne que si vous utilisez gradle 1.3.0-beta2 ou supérieure, vous devrez donc ajouter ceci aux dépendances de buildscript si vous utilisez une version plus basse:

classpath 'com.Android.tools.build:gradle:1.3.0-beta2'
4
sumit mehra

J'ai cherché à plusieurs reprises cette solution fonctionne comme un charme ::

    apply plugin: 'com.Android.application'
    Android {
        compileSdkVersion 25
        buildToolsVersion "25.0.3"
        defaultConfig {
            applicationId "com.anzma.memories"
            useLibrary 'org.Apache.http.legacy'
            minSdkVersion 15
            targetSdkVersion 25
            versionCode 1
            versionName "1.0"
            testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"
        }
 packagingOptions {
            exclude 'META-INF/DEPENDENCIES.txt'
            exclude 'META-INF/LICENSE.txt'
            exclude 'META-INF/NOTICE.txt'
            exclude 'META-INF/NOTICE'
            exclude 'META-INF/LICENSE'
            exclude 'META-INF/DEPENDENCIES'
            exclude 'META-INF/notice.txt'
            exclude 'META-INF/license.txt'
            exclude 'META-INF/dependencies.txt'
            exclude 'META-INF/LGPL2.1'
        }
    buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
            }
        }
    }
    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        compile('org.Apache.httpcomponents:httpmime:4.3.6') {
            exclude module: 'httpclient'
        }
        compile 'org.Apache.httpcomponents:httpclient-Android:4.3.5'
        compile 'com.Android.support:appcompat-v7:25.3.1'
        testCompile 'junit:junit:4.12'
    }
2
mohamed elagamy

Dépendance de travail

Essaye ça:

compiler 'org.jbundle.util.osgi.wrapped: org.jbundle.util.osgi.wrapped.org.Apache.http.client: 4.1.2'

0
Ketan Ramani

Je ne sais pas pourquoi mais (pour l'instant) httpclient peut être compilé seulement sous la forme d'un fichier jar dans le répertoire libs de votre projet. HttpCore fonctionne bien quand il est inclus à partir de MVN comme ça:

dependencies {
      compile 'org.Apache.httpcomponents:httpcore:4.4.3'
}
0
Nikolay Hristov