android - एपीके ऐप-डीबग-unaligned.apk के पैकेजिंग के दौरान डुप्लिकेट फ़ाइलें




http jar (4)

अपने build.gradle को अपडेट करें और निम्न पंक्तियां जोड़ें

android{
    .
    .
    .
    packagingOptions {
        exclude 'META-INF/license.txt'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/notice.txt'
        exclude 'META-INF/NOTICE'
    }
}

यह इस त्रुटि को ठीक करेगा। मुझे यह वही त्रुटि मिली, इसे ठीक कर दिया।

मुझे यह त्रुटि मिली है जब Duplicate files during packaging of APK app-debug-unaligned.apk 2 जार फाइलें Duplicate files during packaging of APK app-debug-unaligned.apk :

  • httpclient-4.3.5.jar

  • httpmime-4.3.5.jar

    Sync with Gradle और Run Sync with Gradle बाद libs फ़ोल्डर में।

यदि उपयोगकर्ता 1 जार फ़ाइल - httpmime-4.3.5.jar , मुझे यह त्रुटि नहीं मिलेगी।

कृपया मेरी मदद करें कि इस त्रुटि से कैसे बचें और अभी भी उपरोक्त में 2 जार फ़ाइलों का उपयोग कर सकते हैं,

धन्यवाद,

पी / एस: मैं एंड्रॉइड स्टूडियो संस्करण 0.8.6 का उपयोग करता हूं।

Error Detail

त्रुटि: एपीके के पैकेजिंग के दौरान डुप्लिकेट फ़ाइलें ... \ app \ build \ outputs \ apk \ app-debug-unaligned.apk संग्रह में पथ: मेटा-आईएनएफ / डिस्प्लेन्सीज उत्पत्ति 1: ... \ app \ libs \ httpclient-4.3 .5.jar उत्पत्ति 2: ... \ app \ libs \ httpmime-4.3.5.jar

build.gradle

android {
compileSdkVersion 20
buildToolsVersion '20.0.0'
defaultConfig {
    applicationId 'com.app'
    minSdkVersion 9
    targetSdkVersion 20
    versionCode 1
    versionName '1.0'
}
buildTypes {
    release {
        runProguard false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
productFlavors {
}
packagingOptions {
    exclude 'META-INF/LICENSE.txt'
}

dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:support-v4:20.0.0'
compile 'com.android.support:appcompat-v7:20.0.0'
compile 'com.google.android.gms:play-services:5.2.08'
compile 'com.viewpagerindicator:library:[email protected]'
compile 'de.hdodenhof:circleimageview:1.2.0'
compile files('libs/httpmime-4.3.5.jar')
}

UPDATE मैं compile files('libs/httpmime-4.3.5.jar') लिंक का उपयोग करने के लिए compile files('libs/httpmime-4.3.5.jar') से बदल गया। मुझे 2 मेवेन लिंक एक साथ रखने के बाद फिर से एक ही त्रुटि मिली:

    compile 'org.apache.httpcomponents:httpmime:4.4-alpha1'
compile 'org.apache.httpcomponents:httpcore:4.4-alpha1'

यह चेतावनी है

चेतावनी: निर्भरता org.apache.httpcomponents: httpclient: 4.4-अल्फा 1 को डीबग के लिए अनदेखा किया जाता है क्योंकि यह एंड्रॉइड द्वारा प्रदान किए गए आंतरिक संस्करण के साथ विरोधाभासी हो सकता है। समस्या के मामले में, कृपया वर्ग पैकेज को बदलने के लिए इसे जर्जर के साथ दोबारा दोबारा दोहराएं

चेतावनी: निर्भरता org.apache.httpcomponents: httpclient: 4.4-alpha1 को रिलीज़ के लिए अनदेखा किया जाता है क्योंकि यह एंड्रॉइड द्वारा प्रदान किए गए आंतरिक संस्करण के साथ विरोधाभासी हो सकता है। समस्या के मामले में, कृपया क्लास पैकेज को बदलने के लिए इसे जार के साथ दोबारा दोहराएं

कृपया मुझे ठीक करने में मदद करें।

समाधान मुझे इन पंक्तियों को जोड़कर अब अच्छा जवाब पता है Duplicate files को ठीक करेगा:

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

आप इस संकलन 'org.apache.httpcomponents:httpmime:4.3.5' साथ compile files('libs/httpmime-4.3.5.jar') को प्रतिस्थापित कर सकते हैं।

इसके अलावा आप निर्भरता को compile fileTree(include: ['*.jar'], dir: 'libs') कर रहे हैं compile fileTree(include: ['*.jar'], dir: 'libs') पहले से ही compile files('libs/httpmime-4.3.5.jar') शामिल हैं compile files('libs/httpmime-4.3.5.jar')


निर्भरता के लिए नीचे कोड जोड़ें

संकलन समूह: 'org.apache.httpcomponents', नाम: 'httpclient-android', संस्करण: '4.3.5' संकलन (समूह: 'org.apache.httpcomponents', नाम: 'httpmime', संस्करण: '4.3.5 ') {मॉड्यूल को बहिष्कृत करें:' org.apache.httpcomponents: httpclient '}

अब यदि आप इसे चलाते हैं तो यह आपको दिखाएगा कि यह क्यों डुप्लिकेट बता रहा है मेटा-आईएनएफ / नोटिस, मेटा-आईएनएफ / लाइसेंस के कारण हो सकता है, जो पहले इसे चलाने के लिए अन्य प्रकार दिखा सकता है। एंड्रॉइड सेक्शन पैकेजिंग ऑप्शन के तहत नीचे दिए गए सभी को जोड़ें {मेटा-आईएनएफ / लाइसेंस 'बहिष्कृत करें' मेटा-आईएनएफ / लाइसेंस 'को छोड़कर' मेटा-आईएनएफ / लाइसेंस 'को छोड़ दें}

निश्चित रूप से यह आपकी समस्या का समाधान करेगा।

निर्माण से पहले सिस्टम से सभी निर्भरता फ़ाइल को हटा दें।


मैंने अब धीरे-धीरे अपडेट किया है यह काम कर रहा है

पैकेजिंग विकल्प {मेटा-आईएनएफ / डिस्पेंडेसी 'को छोड़कर' मेटा-आईएनएफ / लाइसेंस 'को छोड़कर' मेटा-आईएनएफ / LICENSE.txt 'को बाहर निकालें' मेटा-आईएनएफ / NOTICE.txt '} को छोड़ दें







apache-commons-httpclient