Ошибка сборки Android Studio - несколько файлов dex определяют Landroid/support/v4/
Я не могу создать свой проект в Android Studio. Я получаю следующую ошибку:
Error:Android Dex: [RaditazAndroid] Unable to execute DX
Error:Android Dex: [RaditazAndroid] com.android.dx.util.DexException: Multiple dex files define Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoVersionImpl;
Error:Android Dex: [RaditazAndroid] at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:592)
Error:Android Dex: [RaditazAndroid] at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:550)
Error:Android Dex: [RaditazAndroid] at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:531)
Error:Android Dex: [RaditazAndroid] at com.android.dx.merge.DexMerger.mergeDexBuffers(DexMerger.java:168)
Error:Android Dex: [RaditazAndroid] at com.android.dx.merge.DexMerger.merge(DexMerger.java:186)
Error:Android Dex: [RaditazAndroid] at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:300)
Error:Android Dex: [RaditazAndroid] at com.android.dx.command.dexer.Main.run(Main.java:232)
Error:Android Dex: [RaditazAndroid] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
Error:Android Dex: [RaditazAndroid] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
Error:Android Dex: [RaditazAndroid] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
Error:Android Dex: [RaditazAndroid] at java.lang.reflect.Method.invoke(Method.java:597)
Error:Android Dex: [RaditazAndroid] at org.jetbrains.android.compiler.tools.AndroidDxRunner.runDex(AndroidDxRunner.java:147)
Error:Android Dex: [RaditazAndroid] at org.jetbrains.android.compiler.tools.AndroidDxRunner.main(AndroidDxRunner.java:276)
Error:Android Dex: [RaditazAndroid] at com.intellij.rt.execution.CommandLineWrapper.main(CommandLineWrapper.java:121)
Однако эта ошибка для меня ничего не значит. Он не дает подсказки относительно того, где я должен начать работу над моим проектом. Кто-нибудь сталкивался с чем-то похожим?
Ответы
Ответ 1
Для всех, кто заинтересован, я решил свою проблему. Моя ошибка заключалась в том, что во всех папках модулей модуля проекта я вставлял поддержку android-support-v4.jar и google-play-services.jar (мой проект состоит из 3 модули). Вместо этого я должен был вставить эти банки только в мою основную папку lib модуля, а остальные модули будут автоматически ссылаться на них.
Ответ 2
Вдали от Android Studio я открыл проект в finder/workspace и сделал это:
1- папка MyProject → build → intermediate → dex-cache → cache.xml и удалены все элементы поддержки-v4.jar.
2- Также в стороне от Android Studio, отправился в каждый модуль моего проекта → lib folder → и удалил поддержку-v4.jar.
Затем очистил проект и запустил его, и это сработало благодаря богу:)
Ответ 3
У меня была такая же ошибка. Разработал его, добавив в файл gradle.
dependencies{
compile 'com.google.android.gms:play-services:8.3.0'
compile 'com.android.support:appcompat-v7:23.1.0'
compile 'com.android.support:support-v4:23.1.0'
}
Ответ 4
Если у вас есть:
compile 'com.android.support:recyclerview-v7:24.2.0'
compile('com.android.support:appcompat-v7:23.2.0') { exclude group: 'com.google.android', module: 'support-v4' }
в вашем проекте, добавьте также:
compile 'com.android.support:support-v4:24.2.0'
или
compile 'com.android.support:design:24.2.0'
Ответ 5
У меня была такая же ошибка.
Удаление библиотеки (jtwitter.jar) из папки my-project/app/libs помогло мне.
Затем очистил проект и запустил его, и он сработал.
Ответ 6
Очистить и восстановить все, что мне понадобилось, чтобы начать работать.
Ответ 7
В моем случае проблема была в версии модуля sdk. Я изменил его с 2.2 до 4.4, и проблема была решена.
Ответ 8
Я использовал другой подход, объединив папку ABS res с моей папкой res и используя ActionBarSherlock.jar в качестве глобальной библиотеки.
Хорошо работает до сих пор и надеюсь, что это поможет кому-то! Но это хак, так как мне надоело делать много вещей, и я не могу использовать Gradle, так как некоторые другие разработчики используют Eclipse ADT без Gradle.
Корневая причина для проблемы заключается в использовании android-support-v4 в ABS и моем проекте, и это усложняет DEX.
Ответ 9
Если у кого-то была эта проблема с примерами Project Tango, предоставленными через Github, я решил это, комментируя следующую строку: в файле app build.gradle
для тех проектов, которые не выполнялись:
compile fileTree(dir: external_lib_prefix + '/jar', include: ['**/*.jar'])
Ответ 10
У меня была такая же проблема в Android Studio 2.3, в моем случае у меня была смесь номеров версий, которые выкинули сборку, я изменил:
dependencies {
compile 'com.google.android.gms:play-services-wearable:7.5.0'
compile 'com.google.android.gms:play-services-analytics:7.5.0'
compile 'com.google.android.gms:play-services-drive:8.4.0'
}
к
dependencies {
compile 'com.google.android.gms:play-services-wearable:8.4.0'
compile 'com.google.android.gms:play-services-analytics:8.4.0'
compile 'com.google.android.gms:play-services-drive:8.4.0'
}