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?
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.
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'
}
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.
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'
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'
}
Dépendance de travail
Essaye ça:
compiler 'org.jbundle.util.osgi.wrapped: org.jbundle.util.osgi.wrapped.org.Apache.http.client: 4.1.2'
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'
}