Dans mon projet, j'ai eu une erreur:
Erreur lors de la récupération du parent pour l'élément: Aucune ressource trouvée correspondant au nom donné 'Android: TextAppearance.Material.Widget.Button.Inverse'.
Ensuite, j'ai essayé de le réparer en utilisant ceci:
compileSdkVersion 23
Mais j'ai eu une erreur:
impossible de résoudre le symbole NameValuePair Android
Comment corriger cette erreur?
NameValuePair
fait partie du package org.Apache
qui a été déconseillé avec Android 22
et supprimé avec Android M
, qui est la version que vous compilez. Ce qui est intéressant, c'est que ni la documentation de NameValuePair n'est accessible
Si vous souhaitez utiliser NameValuePair ou BasicNameValuePair dans Android studio avec les derniers niveaux d'API. Suivez ensuite les étapes ci-dessous:
Ouvrez le fichier build.gradle (Module) et copiez ces dépendances:
implementation 'com.google.http-client:google-http-client-Android:+'
implementation 'com.google.api-client:google-api-client-Android:+'
implementation 'com.google.api-client:google-api-client-gson:+'
Copie useLibrary 'org.Apache.http.legacy'
ci-dessous buildToolsVersion
comme:
Android {
useLibrary 'org.Apache.http.legacy'}
C'est tout. Maintenant, synchronisez simplement le fichier gradle.
Remarque: Dans les dépendances, je recommande d'utiliser la dernière version des bibliothèques au lieu du symbole +.
Aujourd'hui, j'ai aussi eu le même problème. J'ai résolu deux changements dans mon build.gradle
1) Android {
useLibrary 'org.Apache.http.legacy'
}
2) compile 'org.Apache.httpcomponents:httpcore:4.4.1'
compile 'org.Apache.httpcomponents:httpclient:4.5'
Mon dernier fichier build.gradle:
apply plugin: 'com.Android.application'
Android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultConfig {
applicationId "com.corouter"
minSdkVersion 15
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
}
}
}
Android {
useLibrary 'org.Apache.http.legacy'
}
dependencies
{
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
compile 'com.Android.support:appcompat-v7:23.2.0'
compile 'com.Android.support:recyclerview-v7:23.0.+'
compile 'org.Apache.httpcomponents:httpcore:4.4.1'
compile 'org.Apache.httpcomponents:httpclient:4.5'
}
ajoute ça:
compile'org.jbundle.util.osgi.wrapped:org.jbundle.util.osgi.wrapped.org.Apache.http.client:4.1.2'
dans build.gradle basé sur l'application, il le ramassera
La classe imbriquée fonctionnerait:
private class NameValuePair {
private String mName;
private String mValue;
public NameValuePair(String name, String value) {
mName = name;
mValue = value;
}
public String getName() {
return mName;
}
public String getValue() {
return mValue;
}
};
J'étais confronté au même problème. Pour le résoudre, j'ai utilisé:
import cz.msebera.Android.httpclient.NameValuePair;
import cz.msebera.Android.httpclient.message.BasicNameValuePair;
et a également ajouté
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.Android.support:appcompat-v7:23.1.1'
compile fileTree(include: ['*.jar'], dir: 'libs')
compile "cz.msebera.Android:httpclient:4.4.1.1"
compile group: 'cz.msebera.Android' , name: 'httpclient', version: '4.4.1.1'
aux dépendances app/gradle. J'espère que ça aide
A eu le même problème
Résolu comme suit:
groupe de compilation: 'org.Apache.httpcomponents', nom: 'httpclient-Android', version: '4.3.5.1'
seLibrary 'org.Apache.http.legacy'