2017-03-26 6 views
6

के साथ डुप्लिकेट प्रविष्टि मैं फ़ायरबेस के साथ एक एप्लिकेशन बना रहा हूं लेकिन डुप्लिकेट क्लास त्रुटि प्राप्त कर रहा हूं। मैंने सभी निर्भरताओं की जांच की है, लेकिन मैं यह समझने में सक्षम नहीं हूं कि मेरे पास फायरबेस लीब के दो संस्करण कहां हैं। त्रुटि: निष्पादन कार्य के लिए विफल रहा ': ऐप: transformClassesWithJarMergingForDebug'।java.util.zip.ZipException: फायरबेस

com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: com/google/firebase/iid/zzb$1.class

buildscript { 
    repositories { 
     maven { url 'https://maven.fabric.io/public' } 
    } 

    dependencies { 
     classpath 'io.fabric.tools:gradle:1.+' 
    } 
} 
apply plugin: 'com.android.application' 
apply plugin: 'io.fabric' 
apply plugin: 'com.google.gms.google-services' 

android { 
    compileSdkVersion 25 
    buildToolsVersion '24.0.3' 
    defaultConfig { 
     applicationId "com.android.palmtickle" 
     minSdkVersion 14 
     targetSdkVersion 25 
     versionCode 1 
     versionName "1.0" 
     //Enabling multiDex support. 
     multiDexEnabled true 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 
repositories { 
    mavenCentral() 
    maven { 
     url 'http://dl.bintray.com/amulyakhare/maven' 
    } 
    maven { url 'https://maven.fabric.io/public' } 
} 

dependencies { 
    compile('com.digits.sdk.android:digits:[email protected]') { 
     transitive = true; 
    } 

    //support and app compatibility libs 
    compile 'com.android.support:appcompat-v7:25.3.0' 
    compile 'com.android.support:design:25.3.0' 
    compile 'com.android.support:cardview-v7:25.3.0' 
    compile 'com.android.support:recyclerview-v7:25.3.0' 
    compile 'com.android.support:support-v4:25.3.0' 

    compile 'com.google.code.gson:gson:2.7' 
    compile 'com.squareup.retrofit:retrofit:1.9.0' 
    compile 'com.squareup.picasso:picasso:2.5.2' 
    compile 'de.hdodenhof:circleimageview:2.0.0' 
    compile 'com.amulyakhare:com.amulyakhare.textdrawable:1.0.1' 
    compile 'com.wdullaer:materialdatetimepicker:2.1.1' 

    //entries related to firebase 
    compile 'com.google.firebase:firebase-auth:10.2.1' 
    compile 'com.google.firebase:firebase-database:10.2.1' 

    compile 'com.google.guava:guava-base:r03' 
    compile 'com.yalantis:ucrop:2.2.0-native' 
} 

मैं हमेशा एंड्रॉयड स्टूडियो में डुप्लिकेट फ़ाइलें खोज के द्वारा इस तरह त्रुटियों को हल करने की कोशिश के रूप में। जब मैं एंड्रॉइड स्टूडियो में zzb खोजता हूं, तो मुझे अन्य सभी 10.2.1 फ़ायरबेस वर्गों के साथ एक जार फ़ायरबेस-आईआईडी-9.0.0 मिल रहा है। मैं यह पता लगाने में सक्षम नहीं हूं कि कौन सी निर्भरता इस फायरबेस-आईआईडी-9.0.0 जार इंजेक्शन दे रही है? कोई उपाय?

+1

चेक बाहर पूर्ण 'gradle' निर्भरता प्राप्त करने के लिए मेरा उत्तर देख सकते हैं - http://stackoverflow.com/questions/42945613/how-to-find-out -विच-लाइब्रेरी-इन-सपोर्ट-लाइब्रेरी-वर्जन/42 9 45708 # 42 9 45708 – Wizard

उत्तर

9

buildToolsVersion to 25.0.2

अद्यतन करने के लिए मैं आज ही समस्या का सामना करना पड़ता है, और मैं

compile 'com.google.firebase:firebase-core:10.2.1' 
compile 'com.google.firebase:firebase-messaging:10.2.1' 

स्वच्छ परियोजना का उपयोग करें और इस परियोजना के पुनर्निर्माण
सब कुछ करने की कोशिश की कोशिश सब है सही

समर्थन मॉड्यूल प्रत्येक मॉड्यूल पर संस्करण 25.3.0 है, और बनाओ सुनिश्चित करें कि सभी फायरबेस मॉड्यूल 10.2.1

+0

ऐसा लगता है कि मुझे फायरबेस कोर लिब लापता था: 'com.google.firebase: firebase-core: 10.2.1'। मुझे नहीं पता था कि यह विश्लेषण lib है? मुझे अभी भी संदेह है कि यदि यह मूल lib है या नहीं होना चाहिए। –

+0

@MhendraChhimwal सेटअप पेज की जांच करें। यह अनिवार्य नहीं है, लेकिन इसकी अत्यधिक अनुशंसा की जाती है। https://firebase.google.com/docs/android/setup –

+0

@MhendraChhimwal हां कुछ विश्लेषिकी सुविधाओं को कोर की आवश्यकता है, जैसे हटाने के समय, इंस्टॉल समय, first_open, session_start, अपने फ़ायरबेस डैशबोर्ड → Analytics → ईवेंट – Angus

5

मेरे लिए यह Google play Services लाइब्रेरी और फ़ायरबेस लाइब्रेरी के साथ संस्करण संख्या के साथ निर्भरता समस्या थी। निर्भरता पेड़ को देखने के लिए निम्न आदेश का उपयोग:

gradlew :app:dependencies 

आउटपुट:

enter image description here

अपने पुस्तकालय संस्करण की जाँच करें। यहां बाईं ओर संस्करण -> का अनुरोध किया गया है संस्करण और संस्करण के दाईं ओर -> को ग्रेडल द्वारा संस्करण चुना गया है।

इसलिए मैंने ऐप लेवल build.gradle फ़ाइल में अपनी Google play Services लाइब्रेरी संस्करण और फ़ायरबेस लाइब्रेरी संस्करण 11.0.1 को अपडेट किया।

compile "com.google.android.gms:play-services-location:11.0.1" 
compile "com.google.android.gms:play-services-base:11.0.1" 
compile "com.google.android.gms:play-services-maps:11.0.1" 
compile 'com.google.firebase:firebase-crash:11.0.1' 
compile 'com.google.firebase:firebase-core:11.0.1' 

आप गूगल सेवाओं खेलते हैं पुस्तकालय संस्करणों here