Gradle exclude module does not work?

2019-09-04 06:18发布

问题:

When checking for library dupplication, I ran androidDependencies and got this:

+--- com.melnykov:floatingactionbutton:1.2.0
|    \--- com.android.support:recyclerview-v7:21.0.2
+--- me.drakeet.materialdialog:library:1.2.2
+--- Android Workspace:SwipeLibrary:unspecified
|    \--- LOCAL: android-support-v4.jar
\--- com.android.support:appcompat-v7:22.0.0
     \--- com.android.support:support-v4:22.0.0
          \--- LOCAL: internal_impl-22.0.0.jar

so I excluded android support v4 in the app build.gradle: (theres no file in libs folder)

   compile(project(':SwipeLibrary')) {
    exclude module: 'support-v4'
}

but apparently it does not work. The dexDebug still throws UNEXPECTED TOP-LEVEL EXCEPTION: java.lang.IllegalArgumentException: already added. How can I get rid of this issue?

回答1:

For everyone who has the same problem as me (dexDebug throws Exception saying a library is already added - related to support_v4) maybe this will help you: Go to bin/dexedLibs and find the redundant libraries (in my case it is the nineoldandroids since android_support_v4 already has it) and rebuild your project. However you should do this at your own risk so remember to back up the files before attempting to delete them.