After I've added the new library to my project, I started to get this error:
Error:Execution failed for task ':app:dexDebug'. com.android.ide.common.internal.LoggedErrorException: Failed to run command: D:\Android\sdk\build-tools\21.1.2\dx.bat --dex --no-optimize --output D:\Android\AndroidStudioProjects\Discounty\app\build\intermediates\dex\debug --input-list=D:\Android\AndroidStudioProjects\Discounty\app\build\intermediates\tmp\dex\debug\inputList.txt Error Code: 2 Output: UNEXPECTED TOP-LEVEL EXCEPTION: com.android.dex.DexException: Multiple dex files define Landroid/support/annotation/AnimRes; 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)
I've looked through loads of similar questions on stackoverflow but didn't find the working solution.
Below's the screenshot of my project stucture and the build.gradle file of the library project (in libs folder), here's the link for the screenshot:
And here's my root build.gradle file:
buildscript {
repositories {
jcenter()
maven {
url "https://jitpack.io"
}
}
dependencies {
classpath 'com.android.tools.build:gradle:1.0.0'
}
}
allprojects {
repositories {
jcenter()
maven {
url "https://jitpack.io"
}
}
}
And here's the build.grandle from the app folder:
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "com.discounty.discounty"
minSdkVersion 15
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.3'
compile 'cn.pedant.sweetalert:library:1.3'
compile 'com.android.support:recyclerview-v7:21.0.0'
compile 'com.getbase:floatingactionbutton:1.6.0'
compile 'com.yalantis:contextmenu:1.0.0'
compile('de.keyboardsurfer.android.widget:crouton:1.8.4@aar') {
exclude group: 'com.google.android', module: 'support-v4'
}
compile project('libs:swipe_menu_list_view')
}
I tried cleaning the project, but it didn't help.
The new library that I've added (swipe_menu_list_view) contains the support-v4 dependency and I don't use support-v4 anywhere else in my project (or at least I think so), but I've read that this error might happen because different versions of the same library are used in one project.
Could you please help me with solving that problem?
It happens when you are using 2 different versions of the same library.
You can render the dependency tree with the command
gradle dependencies
In your case:
'com.getbase:floatingactionbutton:1.6.0'
useswhile you
appcompat 21.0.3
usesYou can check if there is a updated version that uses the same 21.0.3 or you can exclude the dependency with: