So, my scheme is this: I've got my app A project which uses the Java OpenCV library, and a module B which is a library module that uses Java OpenCV library as well.
My settings of modules is this one: In the app A I compile the module B and the B modules compiles de Java OpenCV library, but I get:
Error:Execution failed for task ':app:dexDebug'. com.android.ide.common.internal.LoggedErrorException: Failed to run command: /Users/rafaelruizmunoz/Library/Android/sdk/build-tools/21.1.2/dx --dex --no-optimize --output /Users/rafaelruizmunoz/crossproject/Android/demoapp/app/build/intermediates/dex/debug --input-list=/Users/rafaelruizmunoz/crossproject/Android/demoapp/app/build/intermediates/tmp/dex/debug/inputList.txt Error Code: 2 Output: UNEXPECTED TOP-LEVEL EXCEPTION: com.android.dex.DexException: Multiple dex files define Lorg/opencv/BuildConfig; at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596) at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554) at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:535) at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171) at com.android.dx.merge.DexMerger.merge(DexMerger.java:189) at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:454) at com.android.dx.command.dexer.Main.runMonoDex(Main.java:303) at com.android.dx.command.dexer.Main.run(Main.java:246) at com.android.dx.command.dexer.Main.main(Main.java:215) at com.android.dx.command.Main.main(Main.java:106)
Gradle scripts:
(App - A)
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.3'
compile project(':ReaderLib_OpenCVBased')
}
(Module - B)
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile project(':openCVLibrary249')
}
So my main problem is that I can't use the OpenCV library with a module which compiles the OpenCV library, how should I do it?