Android Studio exclude class or file from jar

2020-04-07 05:04发布

问题:

How to exclude class or any another file from jar library in Android Studio Gradle?

I tried to use this:

packagingOptions {
    exclude 'com/imagpay/bU.class'
}

And this:

sourceSets {
    main {
        java {
            exclude 'com/imagpay/bU.class'
        }
    }
}

But nothing helped. After adding new library to project get such error during release:

Error:Execution failed for task ':app:proguardRelease'. java.io.IOException: Can't read [/home/denys/Epos/app/libs/PMCore.jar(;;;;;;!META-INF/MANIFEST.MF)] (Can't process class [com/imagpay/bU.class] (Unknown verification type [19] in stack map frame))

回答1:

I had same problem with my Gradle project. So far i didn't find any way to remove duplicate .class files from jar dependency inside app/gradle. So what i did :

  • Extract .jar library
  • Removed duplicate .class files
  • Packed again into .jar
  • Clean (Make project if required) and it worked.