java.util.zip.ZipException: PackageAllDebugClassesForMyiex के दौरान डुप्लिकेट प्रविष्टि


118

मुझे यकीन नहीं है कि इस त्रुटि का क्या मतलब है।

Execution failed for task ':excelSior:packageAllDebugClassesForMultiDex'.
> java.util.zip.ZipException: duplicate entry: android/support/v4/util/TimeUtils.class

मैं वर्तमान में android-support-v4.jarअपने पुस्तकालयों के लिए उपयोग कर रहा हूं

dependencies {
    compile project(':addThisSDK')
    compile project(':centeredContentButton')
    compile project(':googleplayservices_lib')
    compile files('libs/adxtag2.4.6.jar')
    compile files('libs/android-support-v4.jar')
    compile files('libs/aws-android-sdk-1.7.1.1-debug.jar')
    compile files('libs/commons-lang-2.6.jar')
    compile files('libs/crittercism_v4_4_0_sdkonly.jar')
    compile files('libs/dd-plist.jar')
    compile files('libs/FiksuAndroidSDK_4.1.1.jar')
    compile files('libs/iqengines-sdk-barcode.jar')
    compile files('libs/irEventTracker-1.2.jar')
    compile files('libs/jolt-core-0.0.7.jar')
    compile files('libs/json-utils-0.0.7.jar')
    compile files('libs/jsoup-1.7.2.jar')
    compile files('libs/kooaba-api-v4-java.jar')
    compile 'com.android.support:multidex:1.0.0'
}

त्रुटि सिंक सिंक के दौरान दिखाई नहीं देती है। बस जब मैं एप्लिकेशन को चलाने का प्रयास करता हूं

क्या समस्या हो सकती है?


1
त्रुटि तब आती है जब आपकी किसी अन्य जार निर्भरता में समान वर्ग होता है, सुनिश्चित करें कि आपने समर्थन जार को ग्रेडल और जार निर्भरता दोनों के रूप में नहीं जोड़ा है। कृपया प्रश्न में पूर्ण निर्भरता बंद करें।
pyus13

@ pyus13 धन्यवाद। मैंने सवाल अपडेट किया है। यह मेरी पूरी निर्भरता सूची है
बमन

1
आपकी परियोजना में आपके पास 3 मॉड्यूल निर्भरताएं हैं, इसलिए सुनिश्चित करें कि उन सभी में से केवल एक पर निर्भरता के रूप में समर्थन- v4 है।
pyus13

कृपया मेरा जवाब यहाँ देखें: stackoverflow.com/questions/28168063/…
तोमर

त्रुटि: कार्य के लिए निष्पादन विफल रहा ': मुलुगु एस्ट्रो: ट्रांसफॉर्मक्लासविथजारमैर्जिंगफॉरबग'। > com.android.build.api.transform.TransformException: java.util.zip.ZipException: डुप्लिकेट प्रविष्टि: Android / support / v4 / view / ViewPager $ MyAccessibilityDelegate .class
हर्षा

जवाबों:


64

आपको यह जांचने की आवश्यकता है कि आपने v4 पुस्तकालय और संकलन पुस्तकालय सम्मिलित किए हैं? आपको अपने ऐप या अपने निर्भरता कार्यक्रम में लाइब्रेरी को दोहराना नहीं चाहिए।

दोहराएँ लाइब्रेरी को हटा दें ताकि केवल एक V4 बना रहे।

अपने ऐप में dir build.gradleफ़ाइल इस कमांड को जोड़ें:

android{


    configurations {
        all*.exclude group: 'com.android.support', module: 'support-v4'
        all*.exclude group: 'com.android.support', module: 'support-annotations'
    }

}

इससे मेरा काम बनता है! आप इसे आज़मा सकते हैं!


19
इस टुकड़े को जोड़ने के बाद कठबोली को v4, किसी भी विचार का समर्थन नहीं मिलता है?
निसर्ग

@ निसारग भी मेरे साथ होता है।
CJ_COIMBRA

@Nisarg आप प्रोग्राम को फिर से शुरू करने के लिए ग्रेडल का उपयोग कर सकते हैं।
गीकहेड्स

@NisargCan आप कृपया मेरी मदद करें कि कैसे फिर से मिलाप करें, मुझे भी आपकी ही तरह की समस्या है, टुकड़े और टास्कस्टेकबिल्डर ने हल करना बंद कर दिया है
गौरव अरोड़ा

82

आपने शायद अब तक इसे ठीक कर लिया है, लेकिन अभी तक यह अनुत्तरित नहीं है, इसे अपने साथ जोड़ने का प्रयास करें build.gradle:

configurations {
    all*.exclude group: 'com.android.support', module: 'support-v4'
}

4
मैंने कॉन्फ़िगरेशन लाइन को जोड़ा है लेकिन फिर भी Error:Execution failed for task ':Analyst:packageAllDebugClassesForMultiDex'. > java.util.zip.ZipException: duplicate entry: com/android/vending/billing/IInAppBillingService$Stub$Proxy.classयह दिखाता है।
बिस्वजीतघोष

2
आपने समस्या को कैसे ठीक किया?
अर्सलान अनवर

9
क्या कोई सही समाधान है। मुझे वही समस्या हो रही है java.util.zip.ZipException: डुप्लिकेट प्रविष्टि: com / google / gson / annotations / Expose.class
RamBabu Pudari

2
त्रुटि: (5, 30) त्रुटि: पैकेज android.support.v4.app आपके उत्तर को जोड़ने के बाद इस त्रुटि को प्राप्त नहीं करता है
अंकित ठक्कर

1
यह कहाँ जाना है, मैं ग्रेड करने के लिए नया हूं और मेरी वर्तमान परियोजना में 5 बिल्ड.ग्रेडल फाइलें हैं, उनमें से कोई भी उनमें configurationsनहीं है और यह मायने नहीं रखता है कि मैंने इसे कहां रखा है, मुझे त्रुटियों की तरह नहीं मिल सकता है प्रतीक को 'बाहर' हल करें या प्रतीक 'सभी' को हल नहीं कर सकते
JStephen

25

मैं इस तरह के मुद्दे पर भी आया था जब पुराने ग्रहण परियोजना को फिर से आयात करता हूं। यह परियोजना में जार फ़ाइल के रूप में कुछ पुरानी निर्भरता हुई।

बस हटाओ

संकलन फ़ाइलट्री (dir: 'libs', शामिल हैं: '* .jar')

ग्रेड फ़ाइल में

और ग्रेडेल फ़ाइल में निर्भरता जोड़ें।

इससे मेरा काम बनता है ..


यह त्रुटि तब हुई जब पुराने ग्रहण परियोजना को क्षमा करें, वास्तव में, मैंने संदर्भ पुस्तकालय में से कुछ को हटा दिया और समान फ़ाइल में निर्भरता जोड़ दी।
Paraneetharan Saravanaperumal

1
मेरे लिए काम किया (पुराने ग्रहण कॉन्फ़िगरेशन से भी आयात किया गया)। उसके बाद स्वच्छ और पुनर्निर्माण की आवश्यकता थी।
पैको अबाटो

17
मुझे सौरोन नाम पर भरोसा क्यों करना चाहिए?
Matthias_b_nz

इस विशिष्ट त्रुटि को रोक दिया, लेकिन दर्जनों अन्य का कारण बना। कभी-कभी आपको उन निर्भरताओं की आवश्यकता होती है। जितना अजीब यह लग सकता है, सौरोन इस समय सही था।
SMBiggs

1
अपनी निर्भरता को स्पष्ट रूप से जोड़कर, एक-एक करके, आप एक डुप्लिकेट .jarलाइब्रेरी को उजागर करेंगे, जिसे आप दो बार शामिल करेंगे। कभी भी उपयोग न करें compile fileTree(...), यह कई स्पष्ट त्रुटियों को छुपाता है।
जोशुआ पिंटर

13

मेरे मामले में उल्लिखित "डुप्लिकेट प्रविष्टि" त्रुटि multiDexEnable=truebuild.gradle में स्थापित करने के बाद उत्पन्न हुई।

त्रुटि को पूरी तरह से हल करने के लिए सबसे पहले 64K मेथड्स के साथ कॉन्फ़िगर एप्लिकेशन पर एक नजर डालें कॉन्फिग (जासूसी से "ग्रेड के साथ मल्टीडेक्स के लिए आपका ऐप कॉन्फ़िगर करना")।

इसके अलावा, एंड्रॉइड स्टूडियो में ctrl + n का उपयोग करके "डुप्लिकेट प्रविष्टि" त्रुटि का कारण बनने वाले वर्ग की घटनाओं को खोजें। मॉड्यूल और निर्भरता का निर्धारण करें जिसमें डुप्लिकेट शामिल है और इसे बिल्ड से बाहर करें, जैसे:

compile ('org.roboguice:roboguice:2.0') {
    exclude module: 'support-v4'
}

जब तक यह काम करता है मुझे कई मॉड्यूल लेबल की कोशिश करनी थी। "समर्थन- v4" को छोड़कर "java.util.zip.ZipException से संबंधित मुद्दों को हल करता है: डुप्लिकेट प्रविष्टि: Android / समर्थन / v4 / *"


9

मेरी समझ यह है कि एक ही एपीआई (संभवतः अलग संस्करण संख्या) के डुप्लिकेट संदर्भ हैं। कमांड लाइन से निर्माण करते समय डिबग करना आसान होना चाहिए।

./gradlew yourBuildVariantName --debugकमांड लाइन से कोशिश करें ।

अपमानजनक वस्तु पहली विफलता होगी। एक उदाहरण की तरह लग सकता है:

14:32:29.171 [INFO] [org.gradle.api.Task] INPUT: /Users/mydir/Documents/androidApp/BaseApp/build/intermediates/exploded-aar/theOffendingAAR/libs/google-play-services.jar

14:32:29.171 [DEBUG] [org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter] Finished executing task ':BaseApp:packageAllyourBuildVariantNameClassesForMultiDex'

14:32:29.172 [LIFECYCLE] [class org.gradle.TaskExecutionLogger] :BaseApp:packageAllyourBuildVariantNameClassesForMultiDex FAILED'

ऊपर के मामले में, मैं जिस फाइल को अपनी लिबास डायरेक्टरी (TheOffendingAAR) में शामिल करता हूं, उसमें Google Play Services जार (हाँ पूरी बात हाँ) मुझे शामिल है। फ़ाइल जबकि मेरे बेसऐप ने फ़ाइल उपयोग की गई लोकेशन सेवाओं का निर्माण किया है:

compile 'com.google.android.gms:play-services-location:6.5.87'

आप सुरक्षित रूप से अपनी बिल्ड फ़ाइल (ओं) से सुरक्षित वस्तु को हटा सकते हैं, साफ कर सकते हैं और पुनर्निर्माण कर सकते हैं (यदि आवश्यक हो तो दोहराएं)।


1
तो क्या होगा अगर मुझे अपमानजनक पुस्तकालय की आवश्यकता है?
जानूस

1
इससे मुझे आपत्तिजनक लाइब्रेरी को ट्रैक करने में मदद मिली :)
speedynomads

1
यह मदद नहीं करता है..जबकि आक्रामक पुस्तकालय को हटाने में मॉड्यूल विफल हो जाता है
उत्सव गुप्त

9

अपने निर्भरता संस्करणों की जांच करें, आपके पास संगत संस्करण होना चाहिए जो विशेष रूप से com.google संकुल पर ध्यान दें, उनके पास समान संस्करण होना चाहिए:

compile 'com.google.android.gms:play-services:8.3.0'
compile 'com.google.android.gms:play-services-maps:8.3.0'

दोनों 8.3.0 हैं, यदि आपके पास एक और संस्करण संकलन है तो वह अपवाद फेंक देगा।


धन्यवाद आदमी, सही काम करते हुए, मेरे पास तीन अलग-अलग Google Play सेवाएं हैं जो 'com.google.android.gms: play-services-analytics: 8.4.0' संकलन 'com.google.android.gms: play-services-ads: 8.3 .0 'संकलन' com.google.android.gms: प्ले-सेवाओं से अधिक: 8.4.0 '
समाधान Medge

5

सरलता से अपनी जार फ़ाइल को निकालें। v7 के रूप में निर्भरता के लिए


मेरे लिए यह काम है, बस "कंपाइल फाइल्स ('लिबास / ऐंड्रॉयड-सपोर्ट-वी 13.जर') को" फॉर्म "डिपेंडेंसी" मेरे "बिल्ड.ग्रेडल (मॉड्यूल: ऐप)" में हटा दें। संदर्भ के लिए y यह त्रुटि आयात प्रोजेक्ट प्रपत्र के बाद Android Studio में ग्रहण करें।
1


3

पता लगाएं कि lib समर्थन v4 पर निर्भर करता है, और इसे बाहर करें।

कोड build.gradleइस तरह है:

androidTestCompile('com.android.support.test.espresso:espresso-contrib:2.2.1') {
    // http://stackoverflow.com/a/30931887/5210
    exclude group: 'com.android.support', module: 'appcompat'
    exclude group: 'com.android.support', module: 'support-v4'
    exclude module: 'recyclerview-v7'
}

मेरी स्थिति में, लिबास 'एस्प्रेसो' के पास सपोर्ट-वी 4 नामक एक जार है और मेरे प्रोजेक्ट 'ऐप' में समान सपोर्ट-वी 4 है, जब एस्प्रेसो आयात करते हैं तो सपोर्ट-वी 4 को बाहर कर दें।

पुनश्च: ऐसा लगता है compile projectकि साथ काम नहीं कर सकताexclude


1

ऐसा इसलिए है क्योंकि आपने एक पुस्तकालय जोड़ा है और एक बार से अधिक मॉड्यूल पर इसकी निर्भरता दी है।

मेरे मामले में, मैंने एक मॉड्यूल के रूप में और एक ग्रेडल निर्भरता दोनों के रूप में एक पुस्तकालय जोड़ा था।

पुस्तकालय जोड़ने के एक स्रोत को हटाकर (मैंने ग्रेडल निर्भरता को हटा दिया) ने मेरी समस्या हल कर दी।


वैकल्पिक रूप से, इस मुद्दे को मेरे लिए लिबिर डायर से जार को हटाकर और ग्रेडल निर्भरता को बनाए रखते हुए तय किया गया था।
ड्राइडेकर

ये! किसी एक स्रोत को हटाने से समस्या समाप्त हो जाएगी। ग्रेडल डिपेंडेंस रखना अच्छा है।
राहुल रस्तोगी

0

त्रुटि के लिए: कार्य के लिए निष्पादन विफल रहा ': ऐप: transformClassesWithJarMergingForDebug' com.android.build.api.transform.TransformException java.util.zip .ZipException डुप्लिकेट प्रविष्टि com / google / gson / annotations / Expose.class

मैंने जो किया था यह रहा:

1) gson-2.5.jar फ़ाइल को हटाएँ। 2) विन्यास {सभी *। शुद्ध मॉड्यूल: 'gson-2.5'}


सवाल Gson के बारे में नहीं था
OneCricketeer

0

मुझे इस समस्या का सामना करना पड़ा है क्योंकि मैंने मैन्युअल रूप से जार को लिबास में कॉपी किया है और साथ ही ग्रेड फ़ाइल में निर्भरता का उल्लेख किया है। आप अपनी परियोजना संरचना में भी जांचते हैं, कि क्या उसी जार फ़ाइल को किसी अन्य फ़ोल्डर में कॉपी किया गया है जैसे कि lib या प्रोजेक्ट फ़ोल्डर में।


0

Android SDK को अपग्रेड करने के बाद मुझे यही समस्या थी। मैं एप्लिकेशन को चलाने में सक्षम था buildToolsVersion '23.0.1', जब मैं बदल गया तो मुझे वही त्रुटि मिलीbuildToolsVersion '24.0.3'

मैंने अपने जावा संस्करण को 1.7 से 1.8 तक अपडेट करके समस्या का समाधान किया compileSdkVersion 24


0

इस समस्या ने मुझे एक दिन पूरा कर दिया। मैंने अंततः 2.0.0 से 1.2.0 तक के फायरबेस-यूआई लाइब्रेरी संस्करण को डाउनग्रेड किया और प्रोजेक्ट स्तर बिल्ड.ग्रेड फ़ाइल के अंदर निम्न कोड जोड़ा:

allprojects {
    repositories {
        jcenter()

        // Add the following code to your project level build.gradle
        maven {
            url 'https://maven.fabric.io/public'
        }
    }
}

1
Firebase UI संस्करण वास्तव में संकलित Firebase के किस संस्करण पर निर्भर करता है
OneCricketeer

0

मेरे पास इसलिए भी समस्या है कि मेरे पास 'com.android.support:appcompat-v7:24.0.0-alpha1' संकलन है, लेकिन मैंने recyclerview liberary compile 'com.android.support:recyclerview-v7:24.0.2' जोड़ा है। मैंने संस्करण को उसी तरह बदल दिया जैसे कि हम (24.0.2 के 24.0.2 इंटीड)।

मुझे जवाब मिला..मेरे लिए यह किसी की मदद करेगा।


0

मेरे मामले में उल्लिखित "डुप्लिकेट प्रविष्टि" त्रुटि buildmultiDexEnable = true के बाद build.gradle में उत्पन्न हुई।

और सटीक त्रुटि जो मुझे मिल रही थी, नीचे थी:

Error:Execution failed for task 
':android:transformClassesWithJarMergingForDebug'.
> com.android.build.api.transform.TransformException: 
java.util.zip.ZipException: duplicate entry: 
com/google/android/gms/internal/zzqx.class

तो पहली बात मैं क्लास के लिए खोज करता हूं जो एंड्रॉइड स्टूडियो में ctrl + n का उपयोग करके "डुप्लिकेट एंट्री" त्रुटि का कारण बनता है और कॉम / गूगल / एंड्रॉइड / ग्राम / आंतरिक / zzqx.class के लिए खोज की और फिर यह एक संस्करण के लिए जीएमएस क्लास के लिए 2 प्रविष्टियां दिखा रहा था 8.4.0 और 1 संस्करण 11.6.0 के साथ।

इसे ठीक करने के लिए मैंने दोनों को 11.6.0 का उपयोग करने के लिए बनाया और यह निश्चित उदाहरण था

पूर्व

    compile "com.google.android.gms:play-services-games:11.6.0"
    compile "com.google.android.gms:play-services-auth:8.4.0"
    compile "com.google.android.gms:play-services-ads:11.6.0"

उपरांत

    compile "com.google.android.gms:play-services-games:11.6.0"
    compile "com.google.android.gms:play-services-auth:11.6.0"
    compile "com.google.android.gms:play-services-ads:11.6.0"

पुनर्निर्माण का निर्धारण किया।


0

मेरे मामले में सटीक त्रुटि नीचे थी

': एंड्रॉयड: transformClassesWithJarMergingForDebug'।

com.android.build.api.transform.TransformException: java.util.zip.ZipException: डुप्लिकेट प्रविष्टि: com / google / android / gms / आंतरिक / zzqx.class

मैं एक मोड में एक के रूप में गूगल एपिस के दूसरे संस्करण का उपयोग कर रहा था

if (!project.hasProperty('gms_library_version')) {
        ext.gms_library_version = '8.6.0'
   }

हालांकि नीचे के रूप में अन्य मॉड्यूल संस्करण 11.6.0 में

   compile "com.google.android.gms:play-services-ads:11.6.0"
    compile "com.google.android.gms:play-services-games:11.6.0"
    compile "com.google.android.gms:play-services-auth:11.6.0"

हालाँकि इसे खोजने के लिए मैंने एंड्रॉइड स्टूडियो में एक ctrl + n किया और वर्ग नाम zzqx.class दर्ज किया और फिर उसने इस वर्ग के लिए खींची जा रही 2 जार फ़ाइलों को प्रदर्शित किया और तब मुझे समझ आया कि कहीं मैं संस्करण 8.6.0 का उपयोग कर रहा हूं। 8.6.0 से 11.6.0 में बदलने और परियोजना के पुनर्निर्माण पर मुद्दा तय किया गया था।

उम्मीद है की यह मदद करेगा ।

इस पर अधिक यहाँ https://www.versionpb.com/tutorials/step-step-tutorials-libgdx-basic-setup-libgdx/implementing-google-play-services-leadsboards-in-libgdx/


0

मेरे लिए कुछ ऐसा ही हुआ जब मैंने गलती से जोड़ा था

apply plugin: 'kotlin-android'

मेरे Android पुस्तकालय मॉड्यूल के लिए। लाइन को हटाने से समस्या ठीक हो जाती है।


0

मैंने उपरोक्त सभी उपाय आजमाए लेकिन मेरे लिए काम नहीं किया। मैंने गोटो परियोजना संरचना> ऐप द्वारा पुस्तकालयों को अपडेट करने की कोशिश की। और यह मेरे लिए काम करता है! आशा है कि यह उत्तर किसी के लिए उपयोगी है।


-1

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

android {
configurations {
        all*.exclude  module: 'PhotoView'  //去除重复依赖库
    }
}

यह सवाल समर्थन v4 लाइब्रेरी के बारे में है, न कि PhotoView
OneCricketeer

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.