Reputation: 415
One another question about dependency
duplication/excluding in gradle.
My problem looks like that:
Dependencies tree:
Project Tester App build.gradle
dependencies {
compile(project(':data.services'))
compile(project(':my.android.graphics'))
compile(project(':my.ui.views'))
}
Data.Services build.gradle
dependencies {
compile(project(':first.webservice'))
}
My Android Graphics build.gradle
dependencies {
compile(project(':my.android.common.classes'))
}
My UI Views build.gradle
dependencies {
compile 'me.dm7.barcodescanner:zxing:1.5'
compile(project(':my.android.common.classes'))
}
My Android Common Classes build.gradle
dependencies {
compile 'com.android.support:appcompat-v7:25.2.0'
compile 'com.android.support:support-v4:25.2.0'
compile 'com.android.support:cardview-v7:25.2.0'
compile(project(':my.java.common.classes'))
}
My Java Common Classes build.gradle
dependencies {
compile 'com.mcxiaoke.volley:library:1.0.9'
}
As you can see, duplicates are with my.java.common.classes
and my.android.common.classes
, I cannot merge it as those libraries are used in different projects and are generally common for different projects.
I was trying to use exclude
like that
dependencies {
compile(project(':data.services')){
exclude module : ':my.java.common.classes'
}
compile(project(':my.android.graphics')){
exclude module : ':my.java.common.classes'
}
compile(project(':my.java.common.classes'))
}
Unfortunately doesn't help much, still has
com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK trust_root.bks
File1: D:\projects\android\my.tester.app\my.java.common.classes\build\libs\my.java.common.classes-1.0.jar
File2: D:\projects\android\my.tester.app\my.android.common.classes\build\libs\my.android.common.classes-1.2.jar
Any ideas, please help.
Upvotes: 0
Views: 1199
Reputation: 2730
You should add this to your build.gradle:
android {
...
packagingOptions {
pickFirst 'trust_root.bks' // add this
}
}
Upvotes: 1