несколько файлов 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 59

18 ответов:

проблема в том, что android-support-annotations.jar раньше была отдельная библиотека, содержащая аннотации android, но по какой-то причине эти аннотации уже включены в последние версии .

удаление аннотаций jar решило проблему.

Build - > чистый проект, и он работал

Я удалил android-support-v4.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> теги и все между ними. Это может вызвать проблемы в процессе сборки вместе с проблемами библиотеки поддержки, уже упомянутыми.

From / platforms / android / libs/ удалить android-поддержка-v4.сосуд. Это работает на меня.