BUILD FAILED,信息:Gradle任务[:app:assembleLegacyRelease]

时间:2017-10-04 03:07:14

标签: android android-studio software-design

谢谢你的时间:) 我在android studio上构建游戏后收到此消息

信息:Gradle任务[:app:assembleLegacyRelease]

  Error:Execution failed for task ':app:transformClassesWithJarMergingForLegacyRelease'.
    > com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: android/support/v4/app/ListFragment$1.class

信息:建立失败

我已经使用了旧版本,所以我不知道如何解决这个问题来获取我的apk文件

这是gradle:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.0"
    dexOptions{
        javaMaxHeapSize "4g"
    }
    defaultConfig {
        applicationId "com.companyname.gamename"
        minSdkVersion 9
        targetSdkVersion 25
        multiDexEnabled true
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        vectorDrawables.useSupportLibrary = true
        ndk {
            moduleName "player_shared"
        }
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
    productFlavors {
        legacy {
            minSdkVersion 9
            versionCode 901  // Min API level 9, v01
        }
        current {
            minSdkVersion 14
            versionCode 1401  // Min API level 14, v01
        }
    }

dependencies {
    legacyCompile 'com.google.android.gms:play-services:10.0.0'
    currentCompile 'com.google.android.gms:play-services:10.2.0'
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:25.0.0'
    compile 'com.android.support:design:25.0.0'
    compile 'com.android.support:support-vector-drawable:25.0.0'
    testCompile 'junit:junit:4.12'
}
    sourceSets {
        main {
            jni.srcDirs = []
        }
    }
}

谢谢你的帮助,这是我的第一场比赛

2 个答案:

答案 0 :(得分:0)

您的项目中有ListFragment个类,与Android Fragments预定义类提供的ListFragment类冲突。请折射您自己的ListFragment课程。这应该可以解决错误。

答案 1 :(得分:0)

因此,您的libs文件夹中已有四个jar文件,其中包含支持v4 jar。根据您的评论,以下是您在libs文件夹中的jar文件。

  • dagger 1.2.2.jar
  • javax.inject -1.jar
  • nineoldandroids-2.4.0.jar
  • 支持v4-19.0.1.jar

错误消息清楚地显示支持v4 jar的重复条目。

  

com.android.build.api.transform.TransformException:java.util.zip.ZipException:重复条目:android / support / v4 / app / ListFragment $ 1.class

因此,您需要从libs文件夹中删除support v4-19.0.1.jar,因为您的build.gradle文件中包含的支持v7具有不同的版本。因此,您可以考虑在build.gradle部分之前的dependencies文件中添加此部分。

configurations.all {
    resolutionStrategy {
        force 'com.android.support:design:25.3.1'
        force 'com.android.support:support-v4:25.3.1'
        force 'com.android.support:appcompat-v7:25.3.1'
    }
}

您也可以考虑从compile 'com.android.support:appcompat-v7:25.0.0'中删除dependencies