android - अपाचे एचटीपी क्लाइंट एंड्रॉइड(ग्रैडल)




gradle android-studio (6)

मैंने इस लाइन को मेरे build.gradle में जोड़ा है

compile group: 'org.apache.httpcomponents' , name: 'httpclient-android' , version: '4.3.5'

और मैं अपने कोड में MultipartEntityBuilder का उपयोग करना चाहता हूं। हालांकि एंड्रॉइड स्टूडियो लाइब्रेरी को मेरे कोड में नहीं जोड़ता है। क्या कोई मुझे इस बारे में सहायता कर सकता है?


इसे अपनी निर्भरताओं में जोड़ने का प्रयास करें:

compile 'org.apache.httpcomponents:httpclient:4.4-alpha1'

और आम तौर पर यदि आप लाइब्रेरी का उपयोग करना चाहते हैं और आप ग्रैडल निर्भरता रेखा की खोज कर रहे हैं तो आप कृपया ग्रैडल का उपयोग कर सकते हैं

संपादित करें: this भी जांचें।


दूसरों में से कोई भी मेरे लिए काम नहीं किया। जैसा कि here बताया गया है, मुझे निम्नलिखित निर्भरता जोड़नी पड़ी

compile group: 'cz.msebera.android' , name: 'httpclient', version: '4.4.1.1'

क्योंकि मैं एपीआई 23 को लक्षित कर रहा था।


मैंने अपनी build.gradle फ़ाइल में निम्नलिखित जोड़कर समस्या का समाधान किया

android {
useLibrary 'org.apache.http.legacy'}

हालांकि यह केवल तभी काम करता है जब आप ग्रेडल 1.3.0-बीटा 2 या इससे अधिक का उपयोग कर रहे हों, इसलिए यदि आप निम्न संस्करण पर हैं तो आपको इसे स्क्रिप्टस्क्रिप्ट निर्भरताओं में जोड़ना होगा:

classpath 'com.android.tools.build:gradle:1.3.0-beta2'

मैंने इस समाधान पर खोज की और एक आकर्षण की तरह काम करता है ::

    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'
    }

वर्किंग ग्रेबल निर्भरता

इसे इस्तेमाल करे:

संकलित करें 'org.jbundle.util.osgi.wrapped: org.jbundle.util.osgi.wrapped.org.apache.http.client: 4.1.2'


स्वीकार्य उत्तर मेरे लिए बिल्कुल सही नहीं लगता है। HttpMime के एक अलग संस्करण को खींचने का कोई बिंदु नहीं है जब कोई इसके उसी संस्करण पर निर्भर हो सकता है।

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'
}







multipartentity