尝试在 Android Studio 中构建项目时出现此错误(我正在尝试从 Eclipse 迁移):
输出:
UNEXPECTED TOP-LEVEL EXCEPTION: com.android.dex.DexException: Multiple dex files define Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoVersionImpl; at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:594)
在谷歌搜索和检查 stackoverflow 后,最可能的原因是重复的库引用。
我的项目中有许多需要 android-support-v4.jar 的库,例如 Facebook SDK、SlidingMenu 等,因此我将其复制到主项目的/libs 文件夹中,随后将其从所有其他项目的 libs 文件夹中删除.然后我转到“打开模块设置”并将 support-v4 添加为需要它的库(例如 Facebook SDK)的库依赖项。
然后清理项目->运行,但我仍然收到这个多个 dex 文件错误
运行 gradle -q dependencies
显示:
+--- project :facebook-android-sdk-3.5.1:facebook
| \--- com.android.support:support-v4:+ -> 19.1.0
+--- project :SlidingMenu:library
| \--- com.android.support:support-v4:+ -> 19.1.0
这样好吗?如果我在模块设置中删除此库依赖项,那么在尝试编译我的项目时会遇到更多错误
最佳答案
在您的 build.gradle 文件中尝试在您的 android block 中添加以下 block 。
dexOptions {
preDexLibraries = false
}
关于Android Studio Gradle 错误 : Multiple dex files define,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22851103/