为什么我得到 "Multiple dex files define Landroid/support/v7/recyclerview/extensions/ListAdapter"
Why Do I Get "Multiple dex files define Landroid/support/v7/recyclerview/extensions/ListAdapter"
我遇到了可怕的 java.lang.RuntimeException: java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex
错误。堆栈跟踪将根本原因显示为:
Caused by: com.android.dex.DexException: Multiple dex files define Landroid/support/v7/recyclerview/extensions/ListAdapter;
at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:661)
at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:616)
at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:598)
at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171)
at com.android.dx.merge.DexMerger.merge(DexMerger.java:198)
at com.android.builder.dexing.DexArchiveMergerCallable.call(DexArchiveMergerCallable.java:61)
根本原因是什么?
很可能,您正在尝试使用这两个依赖项:
implementation "android.arch.paging:runtime:1.0.0-alpha5"
implementation "com.android.support:recyclerview-v7:27.1.0"
冲突的 class (android.support.v7.recyclerview.extensions.ListAdapter
) 从 Paging runtime
移动到 recyclerview-v7
... 但仅使用 1.0.0-alpha6
或更高的 Paging runtime
。使用 1.0.0-alpha5
,再加上支持库的 27.1.0
,您可以在两个地方得到相同的 class。
而是迁移到:
implementation "android.arch.paging:runtime:1.0.0-alpha6"
implementation "com.android.support:recyclerview-v7:27.1.0"
我有一个类似但不同的错误消息,似乎没有其他可疑的 gradle 依赖项可能与 implementation 'com.android.support:recyclerview-v7:28.0.0'
冲突
Multiple dex files define Landroid/support/v7/widget/DefaultItemAnimator;
最后发现这个项目的lib目录下已经存在一个文件android-support-v7-recyclerview.jar
删除此文件并与 gradle 同步,然后一切正常
我遇到了可怕的 java.lang.RuntimeException: java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex
错误。堆栈跟踪将根本原因显示为:
Caused by: com.android.dex.DexException: Multiple dex files define Landroid/support/v7/recyclerview/extensions/ListAdapter;
at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:661)
at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:616)
at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:598)
at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171)
at com.android.dx.merge.DexMerger.merge(DexMerger.java:198)
at com.android.builder.dexing.DexArchiveMergerCallable.call(DexArchiveMergerCallable.java:61)
根本原因是什么?
很可能,您正在尝试使用这两个依赖项:
implementation "android.arch.paging:runtime:1.0.0-alpha5"
implementation "com.android.support:recyclerview-v7:27.1.0"
冲突的 class (android.support.v7.recyclerview.extensions.ListAdapter
) 从 Paging runtime
移动到 recyclerview-v7
... 但仅使用 1.0.0-alpha6
或更高的 Paging runtime
。使用 1.0.0-alpha5
,再加上支持库的 27.1.0
,您可以在两个地方得到相同的 class。
而是迁移到:
implementation "android.arch.paging:runtime:1.0.0-alpha6"
implementation "com.android.support:recyclerview-v7:27.1.0"
我有一个类似但不同的错误消息,似乎没有其他可疑的 gradle 依赖项可能与 implementation 'com.android.support:recyclerview-v7:28.0.0'
Multiple dex files define Landroid/support/v7/widget/DefaultItemAnimator;
最后发现这个项目的lib目录下已经存在一个文件android-support-v7-recyclerview.jar
删除此文件并与 gradle 同步,然后一切正常