多个dex文件定义了landroid/support/annotation/AnimRes

Nik*_*las 59 java android

我将android支持注释添加到我的依赖项的那一刻

compile 'com.android.support:support-annotations:20.0.0'

我收到了这个错误:

错误代码:2输出:意外的顶级异常:com.android.dex.DexException:多个dex文件定义Landroid/support/annotation/AnimRes; 在com.android.dx.merge.DexMerger.mergeClassDefs的com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:552)的com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:594) (dexMerger.java:533)位于com.android的com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:170)com.android.dx.merge.DexMerger.merge(DexMerger.java:188). dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:439)位于com.android.dx.com上的com.android.dx.command.dexer.Main.runMonoDex(Main.java:287).在com.android.dx.command.Main.main(Main.java:103)的com.android.dx.command.dexer.Main.main(Main.java:199)运行(Main.java:230)

的build.gradle

android {
    compileSdkVersion 19
    buildToolsVersion '20.0.0'

    defaultConfig {
        minSdkVersion 10
        targetSdkVersion 19
    }
}

dependencies {
    compile 'com.android.support:support-v4:19.0.0'
    compile 'com.crashlytics.android:crashlytics:1.+'
    compile 'com.android.support:support-annotations:20.0.0'
}
Run Code Online (Sandbox Code Playgroud)

还有其他人遇到过这个问题吗?我从这里尝试了解决方案.

Mis*_*ith 71

问题是android-support-annotations.jar曾经是一个包含android注释的独立库,但由于某些原因,这些注释已经包含在该android-support-v4.jar文件的最新版本中.

删除注释jar解决了这个问题.

  • 这解决了我.如果您正在使用cordova应用程序,请从/ platforms/android/libs /删除提到的文件 (7认同)
  • 当你在项目中包含两个带有不同版本的`android-support-v4.jar` jar文件时,可能会出现问题 (5认同)

小智 34

Build-> clean Project,它运作良好


Eva*_*ovi 23

我删除了android-support-v4.jar并且它有效.


Raj*_*rma 10

如果这是cordova /离子项目,这对我有用

将这些行添加到在行号22之后的platforms/android下的build.gradle,即在应用插件之后:'android'

configurations {
   all*.exclude group: 'com.android.support', module: 'support-v4'
}
Run Code Online (Sandbox Code Playgroud)


小智 7

解决了使用facebook插件的Cordova项目中的这个问题.我能够通过注释掉这一行来成功构建platforms\android\project.properties,如图所示:

# cordova.system.library.1=com.android.support:support-v4:+
Run Code Online (Sandbox Code Playgroud)

并通过评论这一行platforms\android\build.gradle,如图所示:

// compile "com.android.support:support-v4:+"
Run Code Online (Sandbox Code Playgroud)

然后做构建.当我安装(katzer/cordova-plugin-local-notifications)添加这些行时,问题就开始了,但是由于它添加到构建中的库已经是facebook插件构建的一部分,所以它产生了冲突.