2016-07-12 12 views
2

This is a screenshot from the duplicated classes Когда я начал интегрировать Digits мне пришлось обновить Crashlytics после обновления каждый раз, когда я построить приложение на предварительных Зефир устройств, которые я получил построить Error Этот одинпреобразовательные Классы с банкой, сливая для отладки дубликата записи

Ошибка: выполнение failed for task ': app: transformClassesWithJarMergingForDebug'.

com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: com/crashlytics/android/answers/shim/AnswersKitEventLogger.class

После поиска на некоторое время я уже пытался ./gradlew чистой команды, и я понял, что существует два класса с таким же именем ANswersKitEventLooger.class Один из них под ответами-прокладка-0.0.3 библиотеки в Crashlytics а другой под ответами-прокладки-0.0.4 в библиотеке филиала

Я также пытаюсь exculde то в build.gradel, но ничего, кажется, работает до сих пор `

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' 

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

android { 
    compileSdkVersion 22 
    buildToolsVersion "22.0.1" 

    defaultConfig { 

     minSdkVersion 15 
     targetSdkVersion 22 

     // Enabling multidex support. 
     multiDexEnabled true 
    } 

    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' 
     } 
    } 
} 

repositories { 
    mavenCentral() 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: 'Parse-*.jar') 

    compile 'com.android.support:support-v4:22.0.0' 
    compile 'com.android.support:appcompat-v7:22.1.1' 
    compile 'com.google.android.gms:play-services:7.5.0' 
    compile 'com.facebook.android:facebook-android-sdk:4.8.0+' 
    compile 'com.xgc1986.android:parallaxpagertransformer:1.0.3' 
    compile 'com.facebook.rebound:rebound:0.3.7' 
    compile 'com.ogaclejapan.smarttablayout:library:[email protected]' 
    compile files('libs/AudienceNetwork.jar') 
    compile files('libs/android-async-http-1.4.4.jar') 
    compile files('libs/ebizu-redemption.jar') 
    compile files('libs/universal-image-loader-1.9.1.jar') 
    compile files('libs/zxing-core.jar') 
    compile 'com.nineoldandroids:library:2.4.0' 
    compile 'com.github.ksoichiro:android-observablescrollview:1.5.0' 
    compile 'com.github.siyamed:android-shape-imageview:[email protected]' 
    compile 'io.branch.sdk.android:library:1.+' 
    compile 'com.parse.bolts:bolts-android:1.+' 
    compile 'com.daimajia.easing:library:[email protected]' 
    compile 'com.daimajia.androidanimations:library:[email protected]' 
    compile 'com.android.support:multidex:1.0.1' 

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


} 

`

+0

есть ли ЛИЭС твои с помощью поддержки v4 или поддержки v7? он вызывает эту ошибку – Nisarg

+0

Мне жаль, но я как бы новичок, так как я мог знать, что один из них использует поддержку v4 или v7! ^^ –

+0

его прекрасный чувак и проверить [это] (http://stackoverflow.com/a/30806952/3117966) – Nisarg

ответ

3

Эта проблема исправлена ​​в Branch SDK v2.1.0

+0

Или вы можете добавить этот 'compile ('io.branch.sdk.android:library:2.+') { исключить модуль: 'отвечает-shim' } ' – lxknvlk

0

Следующая конфигурация gradle работает для меня.

compile('com.twitter.sdk.android:twitter:[email protected]') { 
    transitive = true; 
} 
compile('com.crashlytics.sdk.android:crashlytics:[email protected]') { 
    transitive = true; 
} 
compile('io.fabric.sdk.android:fabric:[email protected]') { 
    transitive = true; 
} 
compile('io.branch.sdk.android:library:[email protected]') { 
    transitive = true; 
} 
+0

Я изменил ветвь на [email protected], и это сработало для меня, спасибо большое^_^ –

+0

Почему 'transitive = true' лучше, чем' force = true'? –

+0

Сектор SDK теперь находится в 2.0.0, и он не работает с proguard. – Simon

1

Это похоже на проблему, вызванную использованием ветвей и цифр вместе. Оба модуля используют answers-shim. Легкое исправление заключается в том, чтобы исключить answers-shim либо из Ветры, либо из цифр. Следующее в build.gradle работает отлично

compile 'io.branch.sdk.android:library:1.+' 
compile('com.crashlytics.sdk.android:crashlytics:[email protected]') { 
    transitive = true; 
} 
compile('com.digits.sdk.android:digits:[email protected]') { 
    transitive = true; 
    exclude module: 'answers-shim' 
} 
+0

это должен быть принятый ответ, он также следует документации филиала, где они предлагают исключить модуль ответов https: //dev.branch.io/get-started/sdk-integration-guide/guide/android/# get-the-sdk-files – lxknvlk