I'm using the new gradle build system and I'm facing the following problem:
UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dex.DexException: Multiple dex files define Lcom/kibo/mobi/BuildConfig;
at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:594)
at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:552)
at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:533)
at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:170)
at com.android.dx.merge.DexMerger.merge(DexMerger.java:188)
at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:439)
at com.android.dx.command.dexer.Main.runMonoDex(Main.java:287)
at com.android.dx.command.dexer.Main.run(Main.java:230)
at com.android.dx.command.dexer.Main.main(Main.java:199)
at com.android.dx.command.Main.main(Main.java:103)
Priniting the dependencies I can't see anything, here they are:
firstDebugCompile - ## Internal use, do not manually configure ##
\--- KiboGradle:KiboSDK:unspecified
+--- KiboGradle:TextInputAPI:unspecified
+--- KiboGradle:VoiceImeUtils:unspecified
+--- com.google.android.gms:play-services:5.0.77
| \--- com.android.support:support-v4:19.1.0
+--- com.squareup.picasso:picasso:2.3.2
+--- com.google.code.gson:gson:2.2.4
\--- com.crittercism:crittercism-android-agent:4.5.1
I tried to verify that the problem is not a duplicate support library so I tried to add:
compile ('com.google.android.gms:play-services:5.0.77'){
exclude module: 'support-v4'
}
Which resulted in errors that some of the support-v4
library classes can't be found, so this library not getting compiled from any other location.
One thing I had in mind that could cause this problem is the fact that I using the Flavors
feautre in oreder to create several versions of my application with different resourse files.
And when I look at the file that is in the error I see this:
**
* Automatically generated file. DO NOT MODIFY
*/
package com.kibo.mobi;
public final class BuildConfig {
public static final boolean DEBUG = Boolean.parseBoolean("true");
public static final String PACKAGE_NAME = "com.kibo.mobi.test.official";
public static final String BUILD_TYPE = "debug";
public static final String FLAVOR = "liverpool";
public static final int VERSION_CODE = 1;
public static final String VERSION_NAME = "1.0";
}
So the package in of the file and the package specified in String value are not the same.
Can anyone see any issues in my configuration that could cause this problem?