【问题标题】:'AllDevelopmentDebugClassesForMultiDex'. > java.util.zip.ZipException: duplicate entry: retrofit/android/AndroidApacheClient.class'AllDevelopmentDebugClassesForMultiDex'。 > java.util.zip.ZipException:重复条目:retrofit/android/AndroidApacheClient.class
【发布时间】:2015-09-21 09:39:41
【问题描述】:

我的build.gradle

apply plugin: 'com.android.application'
apply plugin: 'io.fabric'

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

dependencies {
    classpath 'io.fabric.tools:gradle:1.+'
}
}

android {
compileSdkVersion 22
buildToolsVersion "23.0.1"

defaultConfig {
    applicationId "com.myapp"
    minSdkVersion 19
    targetSdkVersion 22
    versionCode 1
    versionName "1.0"
    multiDexEnabled true
}

productFlavors {
    production {
        applicationId "com.myapp"
    }

    development {
        applicationId "com.myapp.development"
    }

    staging {
        applicationId "com.myapp.staging"
    }

    qa {
        applicationId "com.myapp.qa"
    }
}

buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
sourceSets {
    main {
        res.srcDirs = ['src/main/res', 'src/main/res/drawable', 'src/main/res/views/activities', 'src/main/res/anim']
    }
}
}

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

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile project(':facebook')
compile 'com.android.support:appcompat-v7:22.2.0'
compile 'com.squareup.picasso:picasso:2.5.2'
compile files('libs/gson-2.3.1.jar')
compile files('libs/retrofit-1.9.0.jar')
compile('com.digits.sdk.android:digits:1.8.0@aar') {
    transitive = true;
}
}

我尝试启用multidex,也没有来自 Fabric 支持论坛的帮助。

还尝试将gson模块从数字中排除为

compile('com.digits.sdk.android:digits:1.8.0@aar') {
    transitive = true;
    exclude module: 'gson';
}

PS:我只想使用电话号码验证/登录功能,不需要推特登录功能。我也在使用改造和毕加索。

【问题讨论】:

    标签: android gradle retrofit android-multidex twitter-digits


    【解决方案1】:

    您的冲突发生在retrofit,而不是gson

    在您的 digits 依赖项中将 exclude module: 'gson' 更改为 exclude module: 'retrofit'

    【讨论】:

    • 补充一下,Twitter 内部有以下依赖库: --- digits -- tweet-ui -- picasso -- support-v4 (android) -- tweet-composer -- twitter-core - - gson -- 改造 我刚刚排除了我正在使用的上述任何库,并且它有效。
    【解决方案2】:

    当您包含 digits SDK 时,您实际上不需要包含 Picasso、Gson、Retrofit、Digit 等库。这些实际上可能会在解析这些库时创建 duplicate entry 异常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-09
      • 2016-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-25
      • 1970-01-01
      相关资源
      最近更新 更多