J'ai dû réinstaller mon système et aujourd'hui, cette erreur se produit dans Android Studio lorsque j'essaie de synchroniser avec gradle:
Warning: Unable to find optional library: org.Apache.http.legacy
Ma note de projet est:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.Android.tools.build:gradle:1.3.0'
}
}
allprojects {
repositories {
mavenCentral()
}
}
Et mon diplôme de module:
apply plugin: 'Android'
Android {
useLibrary 'org.Apache.http.legacy'
compileSdkVersion 23
buildToolsVersion '23.0.2'
defaultConfig {
minSdkVersion 16
targetSdkVersion 23
}
buildTypes {
release {
}
}
productFlavors {
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.Android.support:support-v4:23.1.1'
compile 'com.Android.support:appcompat-v7:23.1.1'
}
À partir des documents Google :
Pour continuer à utiliser les API HTTP Apache, vous devez d'abord déclarer le fichier Dépendance suivante au moment de la compilation dans votre fichier build.gradle:
Android { useLibrary 'org.Apache.http.legacy' }
J'ai essayé les suggestions mentionnées dans ce fil mais elles ne fonctionnent pas. Même résultat avec Android studio 1.5 et 2 preview.
Comment puis-je réparer cela?
Edit: Ce que j'ai essayé jusqu'ici:
Remplacez les versions de Gradpath Classpath par les versions 1.3.0, 1.3.1, 1.5.0.
Modifiez les compileSdkVersion
et targetSdkVersion
en 22. Également les buildToolsVersion de 23.0.1, 23.0.0, 22.0.1.
Niveau supérieur build.gradle - /build.gradle
buildscript {
...
dependencies {
classpath 'com.Android.tools.build:gradle:1.3.1'
}
}
Build.gradle spécifique au module - /app/build.gradle
Android {
compileSdkVersion 23
buildToolsVersion "23.0.0"
useLibrary 'org.Apache.http.legacy'
...
}
Ajoutez org.Apache.http.legacy.jar qui se trouve dans le dossier Android/Sdk/plateformes/Android-23/facultatif dans le répertoire app/libs et synchronisez votre projet.
Après beaucoup de travail, ces solutions fonctionnent pour moi . ** Studio\Android\sdk\plates-formes ** ici, supprimez votre Android-23 et à nouveau dans sdk manager update api 23. ** .it va résoudre votre problème.
Dans mon cas, cela n'a pas fonctionné car il me manquait optional.json
dans <sdk-path>\platforms\Android-23\optional\
, répertoire avec le contenu suivant:
[
{
"name": "org.Apache.http.legacy",
"jar": "org.Apache.http.legacy.jar",
"manifest": false
}
]
Créer un nouveau fichier JSON avec le contenu ci-dessus a résolu le problème pour moi.
Vous devez ajouter le fichier org.Apache.http.legacy.jar
jar dans le dossierapp/libsde votre projet Android Stuido.
Jar Location - `<SDK LOCATION>\Android-sdk\platforms\Android-23\optional`
Pour ce faire, faites un clic droit sur votre projet et sélectionnez Show in Explorer
puis accédez à ...\app\libs
et collez le fichier jar ci-dessus etSynchronisez votre projet avec le fichier Gradle
Module:app
Android {
compileSdkVersion 'Google Inc.:Google APIs:23'
buildToolsVersion "24.0.0"
defaultConfig {
applicationId "<ur_app_id>"
minSdkVersion 15
targetSdkVersion 23
versionCode 1
versionName "1.0"
testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
}
}
}
Dans mon cas, le problème se produisait réellement car le SDK correct n’était pas installé sur cet ordinateur. En allant à .../Android/Sdk/platforms/Android-23
, je pouvais voir que le dossier était vide. L'ajout du SDK 23 via le gestionnaire de SDK a résolu le problème et m'a permis de compiler.
Vous devez vérifier manuellement que vous avez la même version du SDK installée que celle spécifiée sous compileSdkVersion
dans votre fichier build.gradle.
Mettez à jour votre fichier Gradle de projet pour utiliser Gradle version 1.3.1.
classpath 'com.Android.tools.build:gradle:1.3.1'
Essayez également d’ajouter un dépôt codehause.
repositories {
mavenCentral()
maven{
url 'http://repository.codehaus.org'
}
}
Pour gagner du temps, 2 solutions sont meilleures et fonctionnent pour moi.
Solution 1:
ouvrez votre gestionnaire de sdk Android et réinstallez l’API 23 (supprimez-le et réinstallez-le).
Solution 2:
Téléchargez ce fichier contenant le fichier optional.json
Extract et déplacez optionnel.json vers:
C:\Utilisateurs \\ AppData\Local\Android\sdk\plates-formes\Android-23\facultatif
si la solution ci-dessus ne fonctionne pas, essayez de cette façon
J'ai rencontré ce problème récemment et cela est dû à la restriction de longueur de chemin, je pense que c'est 256 caractères maximum.
Déplacez votre projet et la construction réussira.