Не удается разрешить символ NameValuePair
В моем проекте я получил сообщение об ошибке:
Ошибка получения родительского элемента: не найден ресурс, соответствующий имя 'android: TextAppearance.Material.Widget.Button.Inverse'.
Затем я попытался исправить это:
compileSdkVersion 23
Но потом я получил ошибку:
не может разрешить символ NameValuePair android
Как исправить эту ошибку?
Ответы
Ответ 1
NameValuePair
является частью пакета org.apache
, который был устаревшим с помощью Android 22
и удален с помощью Android M
, который представляет собой версию, которую вы компилируете. Интересно, что ни документация NameValuePair не доступна
Ответ 2
Если вы хотите использовать NameValuePair или BasicNameValuePair в студии Android с последними уровнями API. Затем выполните следующие шаги:
-
Откройте файл build.gradle(Module) и скопируйте эти зависимости:
compile 'com.google.http-client:google-http-client-android:+'
compile 'com.google.api-client:google-api-client-android:+'
compile 'com.google.api-client:google-api-client-gson:+'
-
Скопируйте useLibrary 'org.apache.http.legacy'
ниже buildToolsVersion
как:
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
useLibrary 'org.apache.http.legacy'
Вот и все. Теперь просто синхронизируйте файл gradle.
Примечание.. В зависимостях я рекомендую использовать последнюю версию библиотек inst + символа.
Ответ 3
Сегодня у меня тоже была такая же проблема. Я решил с двумя изменениями в моем 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'
Мой последний файл 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'
}
Ответ 4
добавить это:
compile'org.jbundle.util.osgi.wrapped:org.jbundle.util.osgi.wrapped.org.apache.http.client:4.1.2'
в приложении build.gradle, на котором он будет создан.
Ответ 5
Я столкнулся с той же проблемой. Чтобы решить эту проблему, я использовал:
import cz.msebera.android.httpclient.NameValuePair;
import cz.msebera.android.httpclient.message.BasicNameValuePair;
а также добавил
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'
к зависимостям app/ gradle. Надеюсь, что поможет
Ответ 6
Имела ту же проблему
Решил его следующим образом:
- Добавьте это в зависимости:
группа компиляции: 'org.apache.httpcomponents', имя: 'httpclient-android', версия: '4.3.5.1'
- Добавьте это ниже targetSdkVersion в defaultConfig
useLibrary 'org.apache.http.legacy'
Ответ 7
Вложенный класс будет работать:
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;
}
};