Android Studio: Gradle-build fails-выполнение не удалось для задачи': dexDebug'
ошибка:
Gradle: Execution failed for task ':vertretungsplan:dexDebug'.
> Failed to run command:
P:Android-Studiosdkbuild-tools.0.1dx.bat --dex --output P:ProjekteVertretungsplanProjectvertretungsplanbuildlibsvertretungsplan-debug.dex P:ProjekteVertretungsplanProjectvertretungsplanbuildclassesdebug P:ProjekteVertretungsplanProjectvertretungsplanbuilddependency-cachedebug P:Android-Studiosdkextrasandroidm2repositorycomandroidsupportsupport-v4.0.0support-v4-18.0.0.jar P:ProjekteVertretungsplanProjectvertretungsplanlibscommons-io-2.4.jar P:ProjekteVertretungsplanProjectvertretungsplanbuildexploded-bundlesVertretungsplanProjectLibrariesActionbarsherlockUnspecified.aarclasses.jar
Error Code:
2
Output:
trouble processing:
bad class file magic (cafebabe) or version (0033.0000)
...while parsing de/MayerhoferSimon/Vertretungsplan/LoginActivity.class
...while processing de/MayerhoferSimon/Vertretungsplan/LoginActivity.class
trouble processing:
bad class file magic (cafebabe) or version (0033.0000)
...while parsing de/MayerhoferSimon/Vertretungsplan/MainActivity.class
...while processing de/MayerhoferSimon/Vertretungsplan/MainActivity.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)
структура проекта:

построить.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']
}
}
}
построить.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
}
}
настройки.gradle
include ':vertretungsplan', ':libraries:actionbarsherlock'
как я могу исправить эту ошибку?
22 ответов:
правильный ответ заключается в том, что некоторые из ваших файлов jar не компилируются. Вы должны войти в свою сборку.файл gradle в вашем проекте и посмотрите в своих зависимостях.
Если вы просто импортируете некоторые файлы jar, вы можете попытаться удалить их и добавить их по одному. Это поможет вам определить, какой из них вызывает ошибку.
в моем случае я сделал именно это, и когда я импортировал последний, приложение было скомпилировано. Поэтому я думаю, что настоящая проблема была в том, что я был импорт слишком много сразу. Но теперь все работает.
У меня внезапно возникла та же проблема, после каких-либо заметных изменений.
Я решил ее путем удаления
app/buildкаталог и пусть gradle построить весь проект новый.
вы должны проверить, если та же банка импортируется снова. В моем случае внутри банки был класс, который импортировался в другую банку. Поэтому просто проверьте, включен ли какой-либо файл lib / class дважды во весь проект!
Я получил такую же ошибку, когда попытался скомпилировать библиотеку utils jar в eclipse с помощью Java JRE 1.8 и использовать ее в моем /libs/ в Android Studio 1.1.0.
У меня была установлена моя Android Studio для использования JDK1.8.0.
я переключил свое затмение на работу с JRE 1.7, и ошибка была исправлена. Eclipse: окно - > Настройки - > вкладка Java - > компилятор - > уровень соответствия 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 a изменено
место, где я взял правильную версию (File - > Settings - > Gradle - > Experimental
проблема не в
Execution failed for task ':dexDebug'Если вы посмотрите выше ошибки, показанной красным цветом, вы увидите это
чтобы решить эту проблему навсегда просто добавьте эти строки в свой
build.gradlefileandroid { dexOptions { jumboMode = true } }для более подробной информации проверьте этот вопрос:здесь
убедитесь, что ваш файл AndroidManifest содержит имя пакета в узле манифеста. Установка имени пакета исправила эту проблему для меня.
пользователи Android STUDIO попробуйте это:-
вы должны добавить следующую строку в ваш зависимостей Gradle в файл:
compile 'com.android.support:multidex:1.0.0'а затем добавить ниже строки (multidex support application) для вашего манифеста
applicationтеги:android:name="android.support.multidex.MultiDexApplication"
можно исправить это, добавив
compile 'com.android.support:support-v4:18.0.0'к зависимостям в сборке vertretungsplan.gradle, скомпилировать, а затем удалить эту строку и скомпилировать снова.
теперь он работает
у меня была эта проблема, потому что я пытался использовать как библиотеку поддержки, так и 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 до веб-браузера. Я обновил "тупо" до последней версии IE. конечно, Microsoft в своей бесконечной мудрости точно знает, что делать с безопасностью. Когда я попытался скомпилировать свое приложение, я продолжал получать ошибку Gradle-build fails -- Execution failed for task. заглянув в стек, я увидел, что он не распознает путь к java.исполняемый. Я нашел это странным, поскольку я только что смог скомпилировать накануне. Я добавил JAVA_HOME в env vars для системы, закрыл Android Studio и снова открыл его. Низкий и вот, если экран nag fire wall не выскочил, спрашивая, хочу ли я все jave.ехе до конца.
какой кластер!
(Это может быть неправильный поток, так как ваша проблема кажется более конкретной, но это поток, который я нашел при поиске ключевых слов проблемы)
несмотря на все хорошие подсказки, единственное, что мне помогло, и что я хотел бы поделиться на всякий случай, если все остальное не сработает:
удалить .gradle каталог в вашем домашнем каталоге и повторно построить/повторно загрузить для вас Android Studio.
исправлены все виды странных ошибки для меня, которые не были исправлены путем переустановки самой Android Studio или SDK.
причина может быть продублирован библиотеки после импорта из интегрированной среды разработки Eclipse.
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 ->настройки модуля - > зависимости .Удалите библиотеку поддержки 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; ... ... ... Execution failed for task ':app:dexDebug'.поэтому я знал, что для исправления этой ошибки мне нужно найти дубликаты зависимостей, которые определяют
parse.AbstractQueryControllerВ моем случае у меня было два импортированных модулей, которые грузили в две разные библиотеки синтаксического анализа. Делая мой проект только загрузить один исправлена моя проблема.
Я тоже столкнулся с этой ошибкой, когда пакет в одном из моих файлов класса, неверно. Многие из этих ответов сразу же переходят к файлам Jar, но я бы также проверил, правильно ли написаны ваши пакеты.
если вы используете
DaggerилиButterknifeвы должны добавить гуаву в качестве зависимости от вашегоbuild.gradleосновной файл, как classpath:
com.google.guava:guava:20.0С другой стороны, если у вас возникли проблемы с большей кучей для демона Gradle, вы можете увеличить добавление к своему
radlefile:dexOptions { javaMaxHeapSize "4g" }
очистка проекта с помощью сборки в строке меню работает для многих сценариев ошибок в Android Studio, и поэтому это происходит в этом случае.





Comments