Android Studio: Gradle - сбой сборки - выполнение выполнено с ошибкой для задачи: dexDebug '

Ошибка:

Gradle: Execution failed for task ':vertretungsplan:dexDebug'.
> Failed to run command:
    P:\Android-Studio\sdk\build-tools\18.0.1\dx.bat --dex --output P:\Projekte\VertretungsplanProject\vertretungsplan\build\libs\vertretungsplan-debug.dex P:\Projekte\VertretungsplanProject\vertretungsplan\build\classes\debug P:\Projekte\VertretungsplanProject\vertretungsplan\build\dependency-cache\debug P:\Android-Studio\sdk\extras\android\m2repository\com\android\support\support-v4\18.0.0\support-v4-18.0.0.jar P:\Projekte\VertretungsplanProject\vertretungsplan\libs\commons-io-2.4.jar P:\Projekte\VertretungsplanProject\vertretungsplan\build\exploded-bundles\VertretungsplanProjectLibrariesActionbarsherlockUnspecified.aar\classes.jar
Error Code:
    2
Output:
    trouble processing:
    bad class file magic (cafebabe) or version (0033.0000)
    ...while parsing de/MayerhoferSimon/Vertretungsplan/LoginActivity$2.class
    ...while processing de/MayerhoferSimon/Vertretungsplan/LoginActivity$2.class
    trouble processing:
    bad class file magic (cafebabe) or version (0033.0000)
    ...while parsing de/MayerhoferSimon/Vertretungsplan/MainActivity$1.class
    ...while processing de/MayerhoferSimon/Vertretungsplan/MainActivity$1.class
    trouble processing:
    bad class file magic (cafebabe) or version (0033.0000)
    ...while parsing de/MayerhoferSimon/Vertretungsplan/YQL/YqlVplanParser.class
    ...while processing de/MayerhoferSimon/Vertretungsplan/YQL/YqlVplanParser.class
    3 warnings
    UNEXPECTED TOP-LEVEL EXCEPTION:
    com.android.dx.util.DexException: Multiple dex files define Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoVersionImpl;
        at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:592)
        at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:550)
        at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:531)
        at com.android.dx.merge.DexMerger.mergeDexBuffers(DexMerger.java:168)
        at com.android.dx.merge.DexMerger.merge(DexMerger.java:186)
        at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:300)
        at com.android.dx.command.dexer.Main.run(Main.java:232)
        at com.android.dx.command.dexer.Main.main(Main.java:174)
        at com.android.dx.command.Main.main(Main.java:91)

Структура проекта:

enter image description here

build.gradle(actionbarsherlock)

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.5.+'
    }
}
apply plugin: 'android-library'

dependencies {
    compile 'com.android.support:support-v4:18.0.0'
}

android {
    compileSdkVersion 18
    buildToolsVersion "18.0.1"

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 11
    }

    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            res.srcDirs = ['res']
        }
    }
}

build.gradle(vertretungsplan)

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.5.+'
    }
}
apply plugin: 'android'

dependencies {
    compile files('libs/commons-io-2.4.jar')
    compile project(':libraries:actionbarsherlock')
}

android {
    compileSdkVersion 18
    buildToolsVersion "18.0.1"

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 11
    }
}

settings.gradle

include ':vertretungsplan', ':libraries:actionbarsherlock'

Как я могу исправить эту ошибку?

Ответ 1

Правильный ответ: некоторые из ваших файлов jar не компилируются. Вы должны зайти в свой файл build.gradle в свой проект и посмотреть в своих зависимостях.

Если вы просто импортируете некоторые файлы jar, вы можете попытаться удалить их и добавить их по одному. Это поможет вам определить, какая из них вызывает ошибку.

В моем случае я сделал именно это, и когда я импортировал последний, приложение было скомпилировано. Поэтому я думаю, что реальная проблема заключалась в том, что я импортировал слишком много сразу. Но теперь все работает.

Ответ 2

У меня внезапно возникла такая же проблема, после каких-либо примечательных изменений.

Я решил его, удалив каталог app/build и gradle создаст новый проект.

Ответ 3

Вы должны проверить, снова ли импортирован тот же JAR. В моем случае был класс внутри банки, который импортировался в другую банку. Поэтому просто проверьте, включен ли какой-либо файл lib/class во второй проект!

Ответ 4

У меня такая же ошибка, когда я попытался скомпилировать java файл утилиты utils в eclipse с помощью Java JRE 1.8 и использовать его в моем/libs/в Android Studio 1.1.0.

У меня была установлена ​​Android Studio для использования JDK1.8.0.

Я переключил Eclipse на работу с JRE 1.7, и ошибка была исправлена. Eclipse: Window- > Preferences- > Java tab- > Compiler → Уровень соответствия 1.7. Скорее всего, вам будет предложено переключить вашу библиотеку JRE на jdk1.7.x_x.

Возможно, вам придется отключить "сжатие банки" при экспорте. Я не проверял, был ли это эффект или нет. Я сомневаюсь, что это было связано.

Ответ 5

У меня была такая же проблема. В моем случае проблема началась после перезагрузки. Я закрыл приложение, затем закрыл Android Studio (в моем случае V1.1.0) и, наконец, нормальное завершение работы. После этого я модифицировал один java файл, чтобы добавить объект RadioGroup, а затем появилась проблема.

Я решил проблему только с изменением простого "0" для "1" в конфигурационном файле Gradle, потому что основная причина проблемы была сгенерирована в процессе выполнения Gradle. Раньше у меня была версия 1.0.0, затем я изменил ее на "1.1.0", как указано на рисунках.

Расположение конфигурации Gradle изменено Location of the Gradle configuration a changed

Место, где я выбрал правильную версию (Файл → Настройки → Gradle → Экспериментальный Location where I took the right version from (File -> Settings -> Gradle -> Experimental

Ответ 6

Проблема НЕ о Execution failed for task ':dexDebug'

если вы посмотрите выше ошибки, показанной красным цветом, вы увидите это

введите описание изображения здесь

Чтобы решить эту проблему, просто добавьте эти строки в свой build.gradle файл

android {
    dexOptions {
        jumboMode = true
    }
}

Для получения дополнительной информации проверьте этот вопрос: здесь

Ответ 7

Убедитесь, что ваш файл AndroidManifest содержит имя пакета в манифесте node. Установка имени пакета исправила эту проблему для меня.

Ответ 8

Пользователи ANDROID STUDIO попробуйте следующее: -

Вам необходимо добавить следующие файлы в свои зависимости gradle:

compile 'com.android.support:multidex:1.0.0'

Затем добавьте ниже строку (приложение поддержки multidex) в свой манифест application:

android:name="android.support.multidex.MultiDexApplication"

Ответ 9

Можно ли исправить это, добавив

compile 'com.android.support:support-v4:18.0.0'

для зависимостей в файле vertretungsplan build.gradle, компиляции, а затем удалите эту строку и снова скомпилируйте.

теперь он работает

Ответ 10

У меня была та же проблема, вы должны сделать:

File -> Invalidate Caches / Restart

Ответ 11

У меня была эта проблема, потому что я пытался использовать как библиотеку поддержки, так и appcompat:

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
    compile 'com.android.support:support-v4:23.1.0'
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'com.android.support:design:23.1.1'
    compile 'com.google.android.gms:play-services:8.3.0'
}

После того, как я удалил библиотеку поддержки и изменил ее на более раннюю версию, она скомпилировала:

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
    /*compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'com.android.support:design:23.1.1'*/
    compile 'com.android.support:appcompat-v7:22.2.0'
    compile 'com.android.support:design:22.2.0'
    compile 'com.google.android.gms:play-services:8.3.0'
}

Ответ 12

У меня было две несовместимые зависимости.

Приведенные ниже зависимости вызвали ошибку.

compile 'com.google.android.gms:play-services-fitness:8.3.0'
compile 'com.google.android.gms:play-services-wearable:8.4.0'

Изменив зависимость пригодности к версии 8.4.0, я смог запустить приложение.

compile 'com.google.android.gms:play-services-fitness:8.4.0'
compile 'com.google.android.gms:play-services-wearable:8.4.0'

Ответ 13

Я нашел очень интересную проблему с Android Studio и обновлением mircrosoft в веб-браузере. Я обновил "тупо" до последней версии ie. конечно, Microsoft в своей бесконечной мудрости точно знает, что делать с безопасностью. Когда я попытался скомпилировать мое приложение, я продолжал получать сообщение об ошибке Gradle - сборка сбоя - выполнение выполнялось для задачи. глядя в стек, я увидел, что он не распознает путь к java.exe. Я обнаружил, что это странно, как только я смог скомпоновать накануне. Я добавил JAVA_HOME в env vars для системы, закрыл Android Studio и снова открыл ее. Низкий, и вот, если экран огненной стены не подскажет, хочу ли я все jave.exe через.

Что такое кластер!

Ответ 14

(Это может быть неправильный поток, поскольку ваша проблема кажется более конкретной, но это поток, который я нашел при поиске ключевых слов)

Несмотря на все хорошие подсказки, единственное, что помогло мне, и что я хотел бы поделиться на всякий случай, если все остальное не работает:

Удалите ваш каталог .gradle в своем домашнем каталоге и попросите его повторно загрузить/повторно загрузить Android Studio.

Исправлены всевозможные странные ошибки для меня, которые не были исправлены путем переустановки самой Android Studio и SDK.

Ответ 15

Причиной могут быть дублированные библиотеки после импорта из Eclipse IDE.

dependencies {
compile 'com.github.japgolly.android:svg-android:2.0.5'
compile 'com.google.android.gms:play-services:+'
compile 'com.android.support:appcompat-v7:21.0.3'
compile files('libs/androidannotations-api-2.7.1.jar')
compile files('libs/androidasync-2.1.2.jar')
//compile files('libs/google-play-services.jar')
compile files('libs/universal-image-loader-1.8.2.jar')}

У меня была такая же проблема, после комментария:

//compile files('libs/google-play-services.jar')

Приложение не получает ошибок.

Ответ 16

Я столкнулся с той же проблемой. Решено, сделав это. Перейдите в actionbarsherlock → настройки модуля → зависимости. Удалите библиотеку поддержки v4. Внизу слева есть кнопка плюс, оттуда добавьте 1 Зависимость библиотеки (выберите поддержку-v4). Разрешите gradle выполнить повторный и чистый проект.

Ответ 17

В моем случае я сделал Build > Clean Project, и он сработает!

Ответ 18

Многие из ответов здесь - это пробная версия и ошибка, чтобы найти дубликаты зависимостей, но если вы немного прокрутите строку Execution failed for task ':app:dexDebug'., это даст вам подсказку о дублированиях

ошибка с подсказкой.

В моем случае у меня была следующая ошибка:

UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dex.DexException: Multiple dex files define L/com/parse/AbstractQueryController$1;
...
...
...
Execution failed for task ':app:dexDebug'.

Итак, я знал, что для исправления этой ошибки мне нужно найти дубликаты зависимостей, которые определяют parse.AbstractQueryController

В моем случае у меня было два импортированных модуля, которые загружались в две разные библиотеки Parse. Создание моего проекта загружает только одну исправленную мою проблему.

Ответ 19

Я также столкнулся с этой ошибкой, когда пакет в одном из моих файлов классов был неправильно записан. Многие из этих ответов сразу же переходят к файлам Jar, но я также проверял бы, чтобы ваши пакеты были написаны правильно.

Ответ 20

просто добавьте в build.gradle

compile 'com.parse.bolts: bolts-android: 1. +'

compile 'com.parse: parse-android: 1.11.0'

и синхронизировать проект с Gradle Файлы введите описание изображения здесь Но не добавляйте парса синтаксического анализа в libs:) OKK

Ответ 21

Если вы также используете Dagger или Butterknife, вы должны добавить guava в качестве зависимости к вашему основному файлу build.gradle, например classpath:

com.google.guava:guava:20.0

В противном случае, если у вас возникли проблемы с большей кучей для демона Gradle, вы можете увеличить добавление к вашему файлу radle:

 dexOptions {
        javaMaxHeapSize "4g"
    } 

Ответ 22

Очистка проекта с помощью сборки в строке меню работает для многих сценариев ошибок в Android Studio и поэтому в этом случае.