несколько файлов dex определяют landroid / support / annotation/AnimRes
в тот момент, когда я добавил аннотации поддержки android к моим зависимостям
compile 'com.android.support:support-annotations:20.0.0'
Я получил эту ошибку:
Код Ошибки : 2 выходных: НЕОЖИДАННОЕ ИСКЛЮЧЕНИЕ ВЕРХНЕГО УРОВНЯ: com.андроид.Декс.DexException: несколько файлов dex определяют Landroid / support / annotation/AnimRes; на ком.андроид.дуплексный.объединить.Дексмергер.readSortableTypes(DexMerger.java: 594) на com.андроид.дуплексный.объединить.Дексмергер.getSortedTypes (DexMerger.java: 552) на ком.андроид.дуплексный.объединить.Дексмергер.mergeClassDefs(DexMerger.java:533) на ком.андроид.дуплексный.объединить.Дексмергер.mergeDexes(DexMerger.java: 170) на ком.андроид.дуплексный.объединить.Дексмергер.слияние (DexMerger.java: 188) на ком.андроид.дуплексный.команда.дексер.Главный.mergeLibraryDexBuffers (Main.java:439) на ком.андроид.дуплексный.команда.дексер.Главный.runMonoDex (Main.java: 287) на com.андроид.дуплексный.команда.дексер.Главный.запустить(главное.java: 230) на ком.андроид.дуплексный.команда.дексер.Главный.основной(main.java: 199) на ком.андроид.дуплексный.команда.Главный.основной(main.java: 103)
построить.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'
}
кто-нибудь еще испытал эту проблему? Я пробовал решения от здесь.
18 ответов:
проблема в том, что
android-support-annotations.jar
раньше была отдельная библиотека, содержащая аннотации android, но по какой-то причине эти аннотации уже включены в последние версии .удаление аннотаций jar решило проблему.
Если это Кордова / ионный проект, это сработало для меня
добавить эти строки для построения.gradle под платформами / android после строки номер 22 т. е. после применить плагин: 'android'
configurations { all*.exclude group: 'com.android.support', module: 'support-v4' }
решил эту точную проблему в проекте Cordova, который использовал плагин facebook. Я смог успешно построить, комментируя эту строку из
platforms\android\project.properties
, как показано ниже:# cordova.system.library.1=com.android.support:support-v4:+
и комментируя эту строку из
platforms\android\build.gradle
, как показано ниже:// compile "com.android.support:support-v4:+"
затем делаем сборку. Проблема началась, когда я установил (katzer / cordova-plugin-local-notifications), который добавил Эти строки, но он создал конфликт, так как библиотека, которую он добавлял в сборку, уже была часть сборки плагина facebook.
Как говорили другие пользователи, первыми элементами для устранения неполадок являются зависимости. Хотя, иногда вы можете бороться в течение нескольких часов, и вы не найдете никаких проблем, так что вы можете сосредоточиться на построить процесс.
изменение способ
.dex
файлы, производятся иногда решает проблему. Вы можете пройти через эти шаги:
- открыть построить.gradle (app) file
- поиск задач dexOptions
меняем его на:
dexOptions { incremental false }
Если вы не нашли задачу в вашем файле, то вы можете добавить его.
для меня причиной стала новая привязка данных lib
com.android.databinding:dataBinder:1.0-rc2
он каким-то образом использовал конфликтующую версию аннотаций lib, которую я не мог заставить с
configurations.all { resolutionStrategy { force group: 'com.android.support', name: 'support-v4', version: '23.1.0' force group: 'com.android.support', name: 'appcompat-v7', version: '23.1.0' force group: 'com.android.support', name: 'support-annotations', version: '23.1.0' } }
но новый
rc3
иrc4
версии, кажется, исправили это, так что просто используйте эти версии
У меня была та же проблема , но я удалил файлы сборки из папки сборки
projectname / app / build
и он удалил все связанные ошибки. "не могу очистить проект", а также "dex errow с $anim"
мне удалось решить эту проблему. Причина была в том, что я включил библиотеку поддержки android 19.0.0 в качестве зависимости, но 19.1.0 требуется. см. здесь для получения дополнительной информации
так и должно быть
dependencies { compile 'com.android.support:support-v4:19.1.0' compile 'com.crashlytics.android:crashlytics:1.+' compile 'com.android.support:support-annotations:20.0.0' }
если вы импортируете
AppCompat
как проект библиотеки, и Вы тожеandroid-support-annotations.jar
в библиотеках в другом месте, убедитесь, что импортировать вездеAppCompat
только библиотека (она уже включает эту аннотацию lib). Затем удалите всеandroid-support-annotations.jar
чтобы избежать слияния нескольких версий этой библиотеки.
обновление Android SDK Tools исправлено для меня, теперь он просто видит копию в
android-support-v4.jar
.у меня была такая же проблема при использовании ant, и библиотека аннотаций автоматически включалась устаревшим
sdk.dir/tools/ant/build.xml
.
чистый проект работает как временное исправление, но проблема снова появится при следующей ошибке компиляции.
чтобы исправить более надежно, мне пришлось обновить зависимость до android
support-v4
доcom.android.support:support-v4:22.2.0
.
положить в свой построить.gradle зависимость поддержки-аннотации в соответствии с вашим compileSdkVersion. Например: проект с compileSdkVersion 25 можно поставить следующую зависимость:
compile 'com.android.support:support-annotations:25.0.1'
Это решит вашу проблему.
в моем случае у меня был файл под названием
cache.xml
под/build/intermediates/dex-cache/cache.xml
в корневой папке проекта. Я удалил этот файл, перестроил проект, и он работал для меня.
Я удалил android-support-v4.jar и это сработало.
объяснить-android-поддержка-v4.jar конфликтует с моим другим .jar-файлы project\libs files * * специально, когда вы работаете с java 8 на AS.
поставить android-поддержка-v4.jar в папке libs в eclipse. Очистите и постройте проект. Это решит проблему.
еще одна причина, по которой такие сообщения могут появляться в Android Studio при создании и запуске, может быть причиной тегов приложений в ваших библиотеках.
Если у вас есть несколько проектов библиотеки Android, которые вы импортировали в качестве модулей. Зайдите в эти проекты и удалите
<application> ... </application>
теги и все между ними. Это может вызвать проблемы в процессе сборки вместе с проблемами библиотеки поддержки, уже упомянутыми.