web-dev-qa-db-ja.com

シンボルNameValuePairを解決できません

私のプロジェクトでエラーが発生しました:

アイテムの親の取得エラー:指定された名前「Android:TextAppearance.Material.Widget.Button.Inverse」に一致するリソースが見つかりませんでした。

次に、これを使用して修正しようとしました:

compileSdkVersion 23

しかし、その後、エラーが発生しました:

シンボルNameValuePair Androidを解決できません

このエラーを修正するには?

22
g8214435

NameValuePairはパッケージorg.Apacheの一部であり、Android 22で非推奨になり、コンパイル対象のバージョンであるAndroid Mで削除されました。興味深いのは、 NameValuePair のいずれのドキュメントにも到達できないことです。

14
Blackbelt

NameValuePairまたはBasicNameValuePair in Android最新のAPIレベルのスタジオ。次の手順に従ってください。

  • Build.gradle(Module)ファイルを開き、これらの依存関係をコピーします。

    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:+'
    
  • コピーuseLibrary 'org.Apache.http.legacy'以下buildToolsVersionのように:

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

それで全部です。 gradleファイルを同期するだけです。

注:依存関係では、+記号の代わりに最新バージョンのライブラリを使用することをお勧めします。

31
Rahul Sharma

今日も同じ問題がありました。私はbuild.gradleの2つの変更で解決しました

 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'

        }
10

これを追加:

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

アプリベースのbuild.gradleでは、それをピックアップします

4
test Android

ネストされたクラスは機能します:

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;
        }
    };
3
Klim Letov

私は同じ問題に直面していました。それを解決するために、私は使用しました:

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'

アプリ/グラドルの依存関係。それがお役に立てば幸いです

2
Byron Kats

同じ問題があった

次のように解決しました:

  1. これを依存関係に追加します。

コンパイルグループ: 'org.Apache.httpcomponents'、名前: 'httpclient-Android'、バージョン: '4.3.5.1'

  1. DefaultConfigのtargetSdkVersionの下にこれを追加します

seLibrary 'org.Apache.http.legacy'

0
Abhishek Jain