Reputation: 5840
I am getting this duplicate error when building my app:
addJar(...facebookadapter-4.0.3.jar): entry
duplicate entry: com/facebook/ads/AbstractAdListener.class
The reason I am getting this is that my app compiles Facebook modules one belongs to an adapter and one to its original SDK:
compile ('com.ironsource.adapters:facebookadapter:4.0.3@jar') compile 'com.facebook.android:audience-network-sdk:4.27.0' compile 'com.google.ads.mediation:facebook:4.27.0.0'
So as a solution, I am trying to exclude this group from the module which contains the adapter jar compile statement:
compile ('com.ironsource.adapters:facebookadapter:4.0.3@jar') {
exclude (group: 'com/facebook/ads')
}
But, when I build my app again it fails to state the same reason from the same adapter
Any idea why the classes are not being excluded?
Upvotes: 3
Views: 12449
Reputation: 4923
Looks like the exclude
block syntax is incorrect. Try
compile ('com.ironsource.adapters:facebookadapter:4.0.3@jar') {
exclude group: 'com.facebook.ads'
}
Update
So it looks like the facebookadapter
contains this class inside. You can not exclude a class from a jar
file, exclusion only works on per-dependency level.
If you absolutely need to have this adapter, you can try to exclude facebook ads transitive dependency from all the other dependencies.
configurations {
all*.exclude group: 'com.facebook.ads'
}
Upvotes: 6