当前位置: 首页 > 知识库问答 >
问题:

如何在Android中解决“TransformException:java.util.zip.ZipException:重复条目”?

蒋阳华
2023-03-14

错误描述:

错误:任务“:app:transform类与Jar合并进行检测”的执行失败。

这是我的等级代码

apply plugin: 'com.android.application'

android {
compileSdkVersion 23
buildToolsVersion "23.0.3"

defaultConfig {
    applicationId "com.richwebs.user.hohoride"
    minSdkVersion 15
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"
    multiDexEnabled true
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}

packagingOptions{
    exclude 'META-INF/DEPENDENCIES'
    exclude 'META-INF/NOTICE'
    exclude 'META-INF/LICENSE'
}
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile('com.google.api-client:google-api-client-android:1.20.0') {
    exclude group: 'org.apache.httpcomponents'
}

compile 'com.android.support:appcompat-v7:23.4.0'
compile 'com.google.android.gms:play-services:9.0.2'
compile 'com.google.android.gms:play-services-base:9.0.2'
compile 'com.google.android.gms:play-services-analytics:9.0.2'
compile 'com.google.android.gms:play-services-maps:9.0.2'
compile 'com.mcxiaoke.volley:library-aar:1.0.0'
compile 'com.android.support:design:23.4.0'
compile 'com.android.support:support-v4:23.4.0'
compile 'com.google.android.gms:play-services-ads:9.0.2'
compile 'com.google.android.gms:play-services-auth:9.0.2'
compile 'com.google.android.gms:play-services-gcm:9.0.2'
compile group: 'commons-io', name: 'commons-io', version: '2.0.1'

}
android {
useLibrary 'org.apache.http.legacy'
}

共有2个答案

微生俊
2023-03-14

可能在不同版本的导入库中出现问题

你有

  compile 'com.google.android.gms:play-services-analytics:9.0.0' // wrong!
  compile 'com.google.android.gms:play-services-gcm:9.0.2'

确保您总是使用相同的版本,如:

  compile 'com.google.android.gms:play-services-analytics:9.0.2'
  compile 'com.google.android.gms:play-services-gcm:9.0.2'
姬实
2023-03-14

有两种方法可以解决这个问题

  1. 如果应用程序中的方法refrence超过了它的限制,那么像这样增加heapsize

dexOptions{preDexLibraries=false javaMaxHeapSize“4g”}

并启用mutidex支持,如下所示:

defaultConfig {

        multiDexEnabled true
    }

dependencies {   
    compile 'com.android.support:multidex:1.0.1'
}

并在清单文件中设置名称属性:

<application
        android:name="android.support.multidex.MultiDexApplication" >
</application>

这是我的完整分级文件代码。。

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.3"
    useLibrary 'org.apache.http.legacy'

    dexOptions {
        preDexLibraries = false
        javaMaxHeapSize "4g"
    }

    defaultConfig {
        applicationId "com.apple"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
        multiDexEnabled true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }

    packagingOptions {
        exclude 'META-INF/license.txt'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/notice.txt'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/LICENSE-FIREBASE.txt'
        exclude 'META-INF/NOTICE'
    }
}

dependencies {
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:support-v4:23.3.0'
    compile 'com.android.support:appcompat-v7:23.3.0'
    compile 'com.android.support:design:23.3.0'
    compile project(':library')
    compile files('libs/httpmime-4.3.jar')
    compile files('libs/gcm.jar')
    compile 'com.mcxiaoke.volley:library:1.0.19'
    compile 'com.google.code.gson:gson:2.4'
    compile 'com.squareup.picasso:picasso:2.5.2'
    compile 'com.android.support:multidex:1.0.1'
    compile 'com.firebase:firebase-client-android:2.3.1'
    compile files('libs/httpcore-4.3.2.jar')
    compile files('libs/httpclient-4.3.3.jar')
}

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

我有一个问题,这三个模块,所以只是从所有的依赖排除,我的错误了。

 类似资料:
  • 当我尝试在android设备上我的android应用程序时,gradle控制台报告以下错误: 当我搜索“AsynchTtpClient”类时,我发现它确实存在于两个不同的位置: 第一条路径似乎暗示它是一个“缓存”文件...因此,我尝试了,但在重新构建gradle之后,这两个文件仍然存在,并且我尝试应用程序。我在另一篇文章中读到,它可以通过删除其中一个文件来解决...于是我去了缓存位置,把“1.4.

  • 问题内容: 我在一个商业android应用程序上工作。我还使用了一些使用不同许可类型许可的库,其中一些声明如下: 如果库中有带有归因说明的“ NOTICE”文件,则在分发时必须包括该NOTICE (例如,其中之一已获得 Apache License 2.0 的 许可 )。 有多个库。使用 gradle 或 Android Studio 进行构建时,出现以下构建错误: 到目前为止,我在Interne

  • 我在一个商业android应用程序工作。我还使用了一些在不同许可类型下许可的库,其中一些声明如下: (例如,其中一个是在Apache License2.0下获得许可的)。 不止一个图书馆。当我使用gradle或Android Studio进行构建时,我会得到以下构建错误: 到目前为止,我在internet和stackoverflow上找到的答案建议,通过在文件中添加以下内容,从打包中删除licen

  • 问题内容: 我正在使用android studio创建一个android应用程序。我想使用以下依赖项“ com.google.gson:gson:2.8.5”。我将其添加到我的应用程序的build.gradle中,但是遇到以下错误:无法解决:com.google.gson:gson:2.8.5 我尝试了以下操作:-降级依赖项的版本-降级buildToolsVersion的版本-安装SDK中可用的所

  • 添加对我不起作用。