:app:dexDebug ExecException завершено с ненулевым значением выхода 2
Может ли кто-нибудь помочь мне со следующей ошибкой. Когда я очищаю проект, он не показывает никакой ошибки, но каждый раз, когда я пытаюсь запустить, я получаю это сообщение.
Ошибка: не удалось выполнить задачу ': app: dexDebug'.
com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: процесс 'команда'C:\Program Files\Java\jdk1.8.0_45\bin\java.exe'' завершен с нулевое значение выхода 2
Приложение работало без ошибок, но, когда моя система потерпела крах и перезапустила Android Studio, у меня было мало обновлений для Android API 22. После обновления приложение продолжало выдавать мне это сообщение об ошибке. Я скачал JDK 8 и попытался запустить, но ничего не вышло. Позже я понизился до JDK 7 после этого стека, но все еще не исправил его. Можно ли использовать Java 8 для разработки под Android?
Я просмотрел множество подобных вопросов, но ни один из них не работает для меня. Некоторые похожие проблемы, найденные в стеке, были
почему java.exe выход со значением 1 в андроид студии
Ошибка: не удалось выполнить задачу ': app: dexDebug'. > команда завершилась с ненулевым значением выхода 2
Java завершена с ненулевым значением выхода 2 - Android Gradle
java.exe завершен с ненулевым значением выхода 2
Я просмотрел зависимости в построенном gradle, чтобы увидеть, был ли конфликт, но не нашел ни одного.
Я даже пытался скопировать код в новый проект и запустить его, но все равно безуспешно. Любой, кто сталкивался с той же проблемой и решил ее, пожалуйста, помогите мне.
13 ответов
После нескольких дней попыток наконец-то удалось решить проблему. Проблема с одним из моих файлов.jar. Я должен был снять каждую банку и проверить одну за другой, пока не нашел ее. Я удалил файл.jar, очистил свой проект и успешно запустился. Если кто-то сталкивается с подобной проблемой, проверьте файл JAR один за другим.
У меня была такая же ошибка
Приложение:dexDebug ExecException завершено с ненулевым значением выхода 2
я решаю это, добавив эту строку кода
defaultConfig {
multiDexEnabled true
}
Причина в том, что я использовал слишком много библиотек
Надеюсь, этот пост поможет всем
У меня была такая же проблема, когда я компилировал сервисы Google Play для моих зависимостей.
Моя ошибка заключалась в том, что я собирал пакет enitre следующим образом.
скомпилируйте com.google.android.gms:play-services:8.3.0
Вместо этого, когда я попробовал выборочную компиляцию, это сработало. В моем случае я использовал для входа в Google, так что это просто должно было быть
скомпилируйте com.google.android.gms:play-services-auth:8.3.0.
Более подробная информация в документации. https://developers.google.com/android/guides/setup
Надеюсь, это когда-нибудь немного поможет кому-нибудь:)
Я знаю, что уже поздно. Но это то, что на самом деле работает для меня.
1. Build > Clean Project
2. Close gradle daemon processes (ps -e| grep gradle //this will list gradle processes)
3. File > Invalidate caches & Restart
Я надеюсь, что это будет работать для всех.
Для меня решением было удалить ненужные / дублирующие записи зависимостей. Это аналогичное решение, предлагаемое здесь другими, имеет смысл, но не совсем то же, что и решение, предлагаемое другими.
Поскольку я уже включал файлы *.jar в список файлов для компиляции, не было необходимости в дополнительных записях в списке зависимостей.
До:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.2.0'
compile 'com.parse.bolts:bolts-android:1.+'
compile fileTree(dir: 'libs', include: 'Parse-*.jar')
}
После:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.2.0'
}
Для будущих читателей. Если вы используете собственные AAR и обновленные, которые имеют общую зависимость, вы также можете просто попробовать очистить проект. В Android Studio "Сборка" -> "Чистый проект".
Это решило проблему для меня, поэтому я бы рекомендовал быстро попробовать перед тем, как начать копать зависимости.
Удалить compile 'com.parse:parse-android:1.+'
добавить эту строкуcompile fileTree(dir: 'libs', include: ['Parse-*.jar'])
Наконец, это будет выглядеть так
dependencies {
compile fileTree(dir: 'libs', include: ['Parse-*.jar'])
compile 'com.android.support:appcompat-v7:22.2.0'
compile 'com.facebook.android:facebook-android-sdk:4.5.0'
compile 'com.android.support:design:22.2.0'
compile 'com.parse.bolts:bolts-android:1.+'
}
У меня была такая же проблема, просто я сделал проект Biuld -> Rebiuld, и он снова работает;)
Проверьте, есть ли 2 класса с одинаковыми именами. Каждое имя класса должно быть уникальным.
Возможно для этой проблемы вы получили означает, что вы добавили один и тот же файл liberay более чем один раз
Я столкнулся с той же проблемой, когда пытался добавить клиентскую библиотеку Java SignalR к зависимостям моего проекта. Сначала я изменил целевой JDK своего приложения с 1.8.0_XX на 1.7.0_XX, но это не сработало. Затем я изменил проект SignalR на целевой 1.7.0_XX, перестроил и добавил его в папку libs моего проекта вместо первой сборки (которая была в 1.8.0_XX), и это чудесным образом сработало.
Я использовал robolectric зависимость в моем проекте Android. Я удалил все зависимости robolectric в gradle и удалил все свои тесты robolectric, затем я собрал приложение и, наконец, смог запустить проект android. Надеюсь, что это может работать для нас.
Для меня проблема заключалась в том, что я использовал разные версии "API-интерфейсов сервисов Google Play"