5

मैं सक्षम किया है और मैं org.apache.http.legacy.jar उपयोग कर रहा हूँ और मेरे Gradle file.I हो रही है अपवाद में jumblr Gradle पथ जोड़ानिकालें फ़ाइल/जार/एंड्रॉयड स्टूडियो में एक Gradle पथ से वर्ग

Error:Execution failed for task :app:packageAllDebugClassesForMultiDex'. 
> java.util.zip.ZipException: duplicate entry: org/apache/commons/codec/binary/Base64.class 

मुझे लगता है यह है क्योंकि jumblrhttp legacy लाइब्रेरी का भी उपयोग कर रहा है, इसलिए मुझे लगता है कि मुझे jumblr gradle path से http legacy library को स्पष्ट रूप से निकालना होगा। कृपया मुझे बताएं कि एक ग्रेडल पथ से विशिष्ट फ़ाइल/जार/कक्षा को कैसे हटाया जाए।

अद्यतन

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

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

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

     maven { 
      url "https://repo.commonsware.com.s3.amazonaws.com" 
     } 
     maven { 
      url "https://s3.amazonaws.com/repo.commonsware.com" 
     } 
    } 

    android { 
     useLibrary 'org.apache.http.legacy' 
     compileSdkVersion 23 
     buildToolsVersion "23.0.0" 
     dexOptions { 
      incremental true 
      javaMaxHeapSize "4g" 
     } 

     defaultConfig { 
      applicationId "com.example.myapp" 
      minSdkVersion 17 
      targetSdkVersion 23 
      versionCode 1 
      versionName "1.0" 
      // Enabling multidex support. 
      multiDexEnabled true 
     } 
     buildTypes { 
      debug { 
       shrinkResources true 
      } 
      release { 
       minifyEnabled false 
       proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
      } 
     } 
    // configurations { 
    //  all*.exclude group: 'org.apache', module: 'commons' 
    // } 
    } 

    dependencies { 

     // Enabling multidex support. 
     compile 'com.android.support:multidex:1.0.1' 
     //Other Libraries 
     compile fileTree(dir: 'libs', include: ['*.jar']) 
     compile files('libs/okhttp-2.2.0.jar') 
     compile files('libs/okhttp-urlconnection-2.2.0.jar') 
     compile files('libs/okio-1.2.0.jar') 
     compile files('libs/volley.jar') 
     compile files ('org.apache.http.legacy.jar') 
     compile files('libs/universal-image-loader-1.9.0.jar') 
     compile 'com.google.code.gson:gson:2.3' 
     compile 'com.android.support:cardview-v7:23.0.0' 
     compile 'com.android.support:recyclerview-v7:23.0.0' 
     compile 'com.android.support:appcompat-v7:23.0.0' 
     compile 'com.android.support:design:23.0.0' 
     compile 'com.jpardogo.materialtabstrip:library:1.1.0' 
     compile 'com.pkmmte.view:circularimageview:1.1' 
     // compile 'com.github.satyan:sugar:1.3' 
     compile 'com.squareup.picasso:picasso:2.5.2' 
     compile 'com.googlecode.mp4parser:isoparser:1.0.5.4' 
     compile 'org.bytedeco:javacv:1.0' 
     compile 'org.bytedeco.javacpp-presets:opencv:2.4.11-0.11:android-x86' 
     compile 'org.bytedeco.javacpp-presets:ffmpeg:2.6.1-0.11:android-x86' 
     compile 'org.bytedeco.javacpp-presets:opencv:2.4.11-0.11:android-arm' 
     compile 'org.bytedeco.javacpp-presets:ffmpeg:2.6.1-0.11:android-arm' 
     compile 'jp.co.cyberagent.android.gpuimage:gpuimage-library:1.3.0' 
     compile project(':vidEffect') 
     //  For Endless adapter 
     compile 'com.commonsware.cwac:adapter:1.0.+' 
     compile 'com.commonsware.cwac:endless:1.2.3' 
     //  For Facebook 
     compile 'com.facebook.android:facebook-android-sdk:4.6.0' 
     //  For Twitter 
     compile('com.twitter.sdk.android:twitter:[email protected]') { 
      transitive = true; 
     } 
     compile('com.crashlytics.sdk.android:crashlytics:[email protected]') { 
      transitive = true; 
     } 
     //  For Tumblr 
     compile files('libs/signpost-commonshttp4-1.2.jar') 
     compile files('libs/signpost-core-1.2.jar') 
     compile 'com.google.guava:guava:18.0' 
     compile project(':ViewPagerIndicator') 
      compile ('com.tumblr:jumblr:0.0.11'){ 
       transitive = true; 
       exclude module: 'Base64'; 
      } 
//Incase we have no choice but to use source code 
    // compile project(':jumblr') 
    } 

उत्तर

5

मुझे लगता है कि आप को बाहर का उपयोग कर सकते

compile('jumblr.jar') { 
    transitive = true; 
    exclude module: 'Base64'; 
} 

या

compile ('com.tumblr:jumblr:0.0.11') { 
    transitive = true; 
    exclude module: 'Base64'; 
} 
+1

@Niko Yuwono jumblr Gradle पथ के रूप में जोड़ा जाता है जिससे इसके जार नहीं। –

+1

'org.apache.http.legacy.jar' एक जार फ़ाइल है जहां 'jumblr' को' ग्रेबल पथ 'के रूप में जोड़ा जाता है। उनमें से दोनों में एक ही कक्षा होती है। इसलिए मैं किसी भी दो लाइब्रेरी फ़ाइलों से विवादित वर्ग को हटाना चाहता हूं –

+0

@MuhammadUmairShafique क्या आप मुझे अपना निर्माण दिखा सकते हैं। ग्रैडल निर्भरता? –

संबंधित मुद्दे