2017-10-20 98 views
0

我要生成一个apk文件了我的项目,但我不断收到此错误而产生的签署APK:错误而在Android的产生签署过的APK工作室

Execution failed for task ':app:transformClassesWithJarMergingForRelease'. com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: android/support/v4/print/PrintHelper$PrintHelperStubImpl.class

自6我搜索几小时现在解决方案,我已经尝试几乎所有,但我无法修复它。有谁知道如何解决这一问题?

这是我的gradle产出:

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 25 
    buildToolsVersion "26.0.2" 
    dexOptions { 
    javaMaxHeapSize "4g" 
} 

defaultConfig { 
    applicationId "com.pake.lightbulb" 
    minSdkVersion 14 
    targetSdkVersion 26 
    multiDexEnabled true 

    ndk { 
     moduleName "player_shared" 
    } 
} 

buildTypes { 
    release { 
     minifyEnabled false 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 
     'proguard-rules.txt' 
    } 
} 
sourceSets.main 
     { 
      jni.srcDirs=[] 
     } 

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

dependencies { 
    compile('com.google.android.gms:play-services:+') 
    compile files('libs/dagger-1.2.2.jar') 
    compile files('libs/javax.inject-1.jar') 
    compile files('libs/nineoldandroids-2.4.0.jar') 
} 
+0

你偶尔使用壁画?您可能需要根据这张票到您的库更新到最新版本:https://github.com/facebook/fresco/issues/1493 –

+0

你依赖的人都有不同的版本支持V4的,它是相互矛盾的。确保所有的依赖性都使用同一版本 – Jon

+2

发表您的'gradle' – pleft

回答

0

最有可能support-v4库通过play-services依赖性得到也包括在内。要排除它改变你的gradle到的相关依赖行:

compile('com.google.android.gms:play-services:+') 
{ 
    exclude module: 'support-v4' 
} 

为了更排查,并检查是否有其他的重复和冲突,检查gradle产出的依赖关系树命令:

gradle -q dependencies --configuration compile

+0

我现在改变了我的gradle的那一行,但是我一直得到同样的错误。检查gradle的依赖树命令是什么意思? – Pake

+0

显示项目使用的依赖项,根据您的情况发现任何冲突或重复项很有用。你可以在这里阅读更多:https://docs.gradle.org/current/userguide/userguide_single.html#sec:listing_dependencies – pleft

+0

我黯然不明白该怎么做。我对Android Studio一无所知。我刚刚导入了我的应用程序,现在想要创建一个apk文件。 – Pake