当前位置: 代码迷 >> 综合 >> Android编译异常` Cause: duplicate entry: META-INF/MANIFEST.MF`
  详细解决方案

Android编译异常` Cause: duplicate entry: META-INF/MANIFEST.MF`

热度:72   发布时间:2024-02-27 13:20:41.0

目录

  • Android编译异常Cause: duplicate entry: META-INF/MANIFEST.MF
    • 解决方案2: 治标又治本(暂无)
    • 解决方案1: 治标不治本(还原大法)
    • 参考资料
    • 问题详情

Android编译异常Cause: duplicate entry: META-INF/MANIFEST.MF

解决方案2: 治标又治本(暂无)

解决方案1: 治标不治本(还原大法)

  1. 还原到classpath 'com.android.tools.build:gradle:3.4.2' 即可.

参考资料

  1.  

问题详情

  1. 旧项目 AndroidStudio3.4 编译正常

    classpath 'com.android.tools.build:gradle:3.4.2'

    gradle/wrapper/gradle-wrapper.properties
    distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip

  2. 升级到 AndroidStudio3.5 编译报错

    classpath 'com.android.tools.build:gradle:3.5.2'

    gradle/wrapper/gradle-wrapper.properties

    distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip

  3. 报错详情

    Cause: duplicate entry: META-INF/MANIFEST.MF

     
        
    1. Caused by: java.util.zip.ZipException: duplicate entry: META-INF/MANIFEST.MF

    2. at java.util.zip.ZipOutputStream.putNextEntry(ZipOutputStream.java:232)

    3. at java.util.jar.JarOutputStream.putNextEntry(JarOutputStream.java:109)

    4. at com.android.builder.packaging.JarMerger.write(JarMerger.java:252)

    5. at com.android.builder.packaging.JarMerger.addJar(JarMerger.java:199)

    6. at com.android.builder.packaging.JarMerger.addJar(JarMerger.java:156)

    7. at com.android.build.gradle.internal.dependency.AarToClassTransform$Companion.copyEntryTo(AarToClassTransform.kt:94)

    8. at com.android.build.gradle.internal.dependency.AarToClassTransform$Companion.copyAllClassesJarsTo(AarToClassTransform.kt:90)

    9. at com.android.build.gradle.internal.dependency.AarToClassTransform$Companion.access$copyAllClassesJarsTo(AarToClassTransform.kt:83)

    10. at com.android.build.gradle.internal.dependency.AarToClassTransform.transform(AarToClassTransform.kt:78)

    11. at org.gradle.api.internal.artifacts.transform.DefaultTransformer.transform(DefaultTransformer.java:173)

    12. at

     
        
    1. FAILURE: Build failed with an exception.

    2.  
    3. * What went wrong:

    4. Execution failed for task ':EasyAndroid:javaPreCompileDebug'.

    5. > Could not resolve all files for configuration ':EasyAndroid:debugCompileClasspath'.

    6. > Failed to transform artifact 'leakcanary-android-1.5.4.aar (:leakcanary-android-1.5.4:)' to match attributes {artifactType=android-classes, org.gradle.usage=java-api}.

    7. > Execution failed for AarToClassTransform: libs\leakcanary-android-1.5.4.aar.

    8. > duplicate entry: META-INF/MANIFEST.MF

 

最新结果:升级gradle到最新版 比如 3.5.4 即可:

 
 
  1. dependencies {

  2. // classpath 'com.android.tools.build:gradle:3.5.2'

  3. // classpath 'com.android.tools.build:gradle:3.5.3'

  4. classpath 'com.android.tools.build:gradle:3.5.4'

  5. }

 

  相关解决方案