android - 多个dex文件定义android/support/annotation/AnimRes

标签 android gradle dex

当我试图运行我的应用程序时,我收到以下错误:

应用程序:compileDebugNdk 最新
:app:compileDebugSources
:app:preDexDebug
:app:dexDebug
意外的顶级异常:
com.android.dex.DexException:多个dex文件定义了Landroid/support/annotation/AnimRes;
在 com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596)
在 com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554)
在 com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:535)
在 com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171)
在 com.android.dx.merge.DexMerger.merge(DexMerger.java:189)
在 com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:454)
在 com.android.dx.command.dexer.Main.runMonoDex(Main.java:303)
在 com.android.dx.command.dexer.Main.run(Main.java:246)
在 com.android.dx.command.dexer.Main.main(Main.java:215)
在 com.android.dx.command.Main.main(Main.java:106)
错误:任务“:app:dexDebug”执行失败。

com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files (x86)\Java\jdk1.8.0_05\bin\java.exe'' finished with non-zero exit value 2



gradle脚本的内容是:

buildscript {
    repositories {
        maven { url 'https://maven.fabric.io/public' }
    }

    dependencies {
        classpath 'io.fabric.tools:gradle:1.+'
    }
}

apply plugin: 'com.android.application'
apply plugin: 'io.fabric'

repositories {
    maven { url 'https://maven.fabric.io/public' }
}

android {
    compileSdkVersion 21
    buildToolsVersion "22.0.1"

    defaultConfig {
        applicationId "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
        minSdkVersion 10
        targetSdkVersion 22
        versionCode 289
        versionName "2.2.0"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles 'proguard-android.txt', 'proguard-rules.txt'
        }
        debug {
            debuggable true
        }
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.android.support:appcompat-v7:22.1.1'
    compile 'com.google.android.gms:play-services-location:7.5.0'
    compile 'com.google.android.gms:play-services-maps:7.5.0'
    compile('com.facebook.android:facebook-android-sdk:3.23.1') {
        exclude group: 'com.google.android', module: 'support-v4'
    }
    compile('com.crashlytics.sdk.android:crashlytics:2.3.1@aar') {
        transitive = true;
    }
    compile project(':UtilsLibrary')
    compile project(':NumberPickerLibrary')
    compile project(':drag-sort-listview-lib')
    compile project(':GoogleAPI Library')
    compile project(':MenuDrawerLibrary')
    compile project(':IOLibrary')
    compile project(':AR Library')
    compile project(':GoogleLicense')
    compile project(':android-maps-utils-library')
}


我确定不知何故我添加了两次谷歌图书馆。

谢谢。

最佳答案

检查为此模块编译的其他模块。

查看依赖项包含的内容的最佳方法是使用 gradlew .

here三、如何产生依赖。

现在您必须查看其他谷歌图书馆所在的三个。

关于android - 多个dex文件定义android/support/annotation/AnimRes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30538215/

相关文章:

android - 如何使用 cordova 3.3 逐步创建推送通知?

android - 什么是 Android Pre-Dexing 以及它如何提高性能?

android - Android 应用程序错误中的 MultiDex 支持

android - 测试时的 64k 限制 - Android

android - Android 上不同屏幕尺寸的不同布局?

java - 我需要一个可以通过滑动来更改的图标列表,这样整个内容就会改变

android - Android BroadcastReceiver 是否需要有 Intent-Filter 标签?

android - React Native 卡在 'Resolve dependencies'

android - 建立apk时有什么方法可以排除xxxhdpi资源

android - com.android.builder.dexing.DexArchiveMergerException : Unable to merge dex - Android Studio 3. 0 稳定