Ошибка:
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)
Структура проекта:
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'
Как исправить эту ошибку?
У меня внезапно возникла та же проблема, без заметных изменений.
Я решил это, удалив
app/build
каталог и позволив gradle создать новый проект.источник
Вы должны проверить, не импортируется ли тот же самый JAR снова. В моем случае внутри банки был класс, который импортировался в другую банку. Так что просто проверьте, включен ли какой-либо файл lib / class дважды во весь проект!
источник
У меня возникла такая же ошибка, когда я попытался скомпилировать jar библиотеки 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-> Compiler-> Compliance level 1.7. Скорее всего, вам будет предложено переключить вашу системную библиотеку JRE на jdk1.7.x_x.
Возможно, вам потребуется снять флажок «Сжать банку» при экспорте. Я не проверял, подействовало это или нет. Я сомневаюсь, что это было связано.
источник
У меня тоже была такая же проблема. В моем случае проблема началась после перезагрузки. Я закрыл свое приложение, затем закрыл Android Studio (в моем случае V1.1.0) и, наконец, нормальное завершение работы. После этого я изменил один файл java, чтобы добавить объект RadioGroup, и тогда возникла проблема.
Я решил свою проблему, только заменив простой «0» на «1» в моем файле конфигурации Gradle, потому что основная причина проблемы была сгенерирована в процессе выполнения Gradle. Раньше у меня была версия 1.0.0, затем я изменил ее на 1.1.0, как показано на рисунках.
Расположение конфигурации Gradle изменено
Место, откуда я взял нужную версию (Файл -> Настройки -> Gradle -> Экспериментальный
источник
Проблема НЕ в
Execution failed for task ':dexDebug'
если вы посмотрите на ошибку, показанную красным, вы увидите это
Чтобы решить эту проблему навсегда, просто добавьте эти строки в свой
build.gradle
файлandroid { dexOptions { jumboMode = true } }
Для получения дополнительной информации проверьте этот вопрос: здесь
источник
Убедитесь, что ваш файл AndroidManifest содержит имя пакета в узле манифеста. Установка имени пакета устранила эту проблему для меня.
источник
Пользователи ANDROID STUDIO пробуют это: -
Вам нужно добавить следующее в зависимости вашего файла gradle:
compile 'com.android.support:multidex:1.0.0'
А затем добавьте строку ниже (приложение поддержки multidex) в
application
тег манифеста :android:name="android.support.multidex.MultiDexApplication"
источник
Можно исправить это, добавив
compile 'com.android.support:support-v4:18.0.0'
к зависимостям в vertretungsplan build.gradle, скомпилируйте, а затем удалите эту строку и снова скомпилируйте.
теперь это работает
источник
У меня была такая же проблема, вам следует сделать:
File -> Invalidate Caches / Restart
источник
У меня была эта проблема, потому что я пытался использовать как библиотеку поддержки, так и 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' }
источник
У меня было две несовместимых зависимости.
Следующие ниже зависимости вызвали ошибку.
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'
источник
Я обнаружил очень интересную проблему с Android Studio и обновлением mircrosoft до веб-браузера. Я "тупо" обновился до последней версии т.е. Конечно, Microsoft в своей безграничной мудрости точно знает, что делать с безопасностью. Когда я пытался скомпилировать свое приложение, я продолжал получать ошибку Gradle - build fails - Execution failed for task. посмотрев в стек, я увидел, что он не распознает путь к java.exe. Мне это показалось странным, поскольку я смог скомпилировать только накануне. Я добавил JAVA_HOME в env vars для системы, закрыл Android Studio и снова открыл ее. Низкий, и вот, если экран с брандмауэром не появляется, спрашивая, хочу ли я, чтобы весь jave.exe прошел.
Что за кластер!
источник
(Это может быть неправильный поток, поскольку ваша проблема кажется более конкретной, но это поток, который я нашел при поиске ключевых слов проблемы)
Несмотря на все хорошие подсказки, единственное, что мне помогло, и чем я хотел бы поделиться на всякий случай, если все остальное не сработает:
Удалите каталог .gradle в домашнем каталоге и попросите его перекомпилировать / повторно загрузить с помощью Android Studio.
Для меня исправлены всевозможные странные ошибки, которые нельзя было исправить переустановкой самой Android Studio или SDK.
источник
Причиной может быть дублирование библиотек после импорта из 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')
В приложении нет ошибок.
источник
Я столкнулся с той же проблемой. Решено этим. Зайдите в actionbarsherlock -> module settings -> dependencies. Удалите библиотеку поддержки v4. В левом нижнем углу есть кнопка с плюсом, оттуда добавьте 1 зависимость библиотеки (выберите support-v4). Позвольте Gradle повторно синхронизировать и очистить проект после завершения.
источник
Многие из ответов здесь являются методом проб и ошибок, чтобы найти повторяющиеся зависимости, но если вы прокрутите немного вверх от
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. Когда мой проект загружал только один, моя проблема была решена.
источник
Я также столкнулся с этой ошибкой, когда пакет в одном из моих файлов классов был неправильно написан. Многие из этих ответов сразу же переходят в файлы Jar, но я бы также проверил, правильно ли написаны ваши пакеты.
источник
просто добавьте build.gradle
скомпилировать com.parse.bolts: bolts-android: 1. +
скомпилировать com.parse: parse-android: 1.11.0 '
и синхронизируйте проект с файлами Gradle, но не добавляйте Jar анализа в библиотеки :) OKK
источник
Если вы также используете
Dagger
илиButterknife
должны добавить гуаву в качестве зависимости к вашемуbuild.gradle
основному файлу, например пути к классам:com.google.guava:guava:20.0
С другой стороны, если у вас возникли проблемы с большей кучей для демона Gradle, вы можете увеличить добавление в свой
radle
файл:dexOptions { javaMaxHeapSize "4g" }
источник
В моем случае я это сделал,
Build > Clean Project
и это сработало!источник
Очистка проекта с помощью сборки в строке меню работает для многих сценариев ошибок в Android Studio, и в этом случае она работает.
источник