: 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, у меня было мало обновлений для Android API 22. После обновления приложение продолжает давать мне это сообщение об ошибке. Я загрузил JDK 8 и попытался запустить, но не работал. Позже я перешел на JDK 7 после этого поста, но все еще не исправил его.
Возможно ли использовать Java 8 для разработки Android?
Я просмотрел множество подобных вопросов, но никто не работает для меня. Некоторые аналогичные проблемы, обнаруженные в стеке, были
почему java.exe выходит со значением 1 в студии Android
Ошибка: выполнение выполнено для задачи ': app: dexDebug'. > comcommand завершена с ненулевым значением выхода 2
Java закончила с ненулевым значением выхода 2 - Android Gradle
java.exe закончил с ненулевым значением выхода 2
Обработать команду 'C:\Program Files\Java\jdk1.8.0_31\bin\java.exe' 'закончил с значением, отличным от нуля, 2.
Я просмотрел зависимости в gradle, чтобы увидеть, есть ли какой-либо конфликт, но не найден.
Я даже попытался скопировать код в новый проект и запустить его, но все равно безуспешно. Любой, кто столкнулся с тем же вопросом и решил его, пожалуйста, помогите мне.
Ответы
Ответ 1
После нескольких дней тестирования, наконец, можно было исправить эту проблему. Проблема с одним из моих файлов .jar. Я должен был удалить каждую банку и проверить один за другим, пока не найду ее. Я удалил файл .jar и очистил проект и успешно сработал. Если кто-то сталкивается с подобной проблемой, проверьте свой файл jar один за другим.
Ответ 2
У меня была та же ошибка
app: dexDebug ExecException завершен с ненулевым значением выхода 2
Я решаю его, добавив эту строку кода
defaultConfig {
multiDexEnabled true
}
Причина в том, что я использовал слишком много библиотек
Надеюсь, что этот пост поможет кому-то
Ответ 3
У меня была такая же проблема, когда я скомпилировал сервисы 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#split
Надеюсь, что когда-нибудь кому-нибудь это поможет:)
Ответ 4
Я знаю это поздно.
Но это то, что на самом деле сработало для меня.
1. Build > Clean Project
2. Close gradle daemon processes (ps -e| grep gradle //this will list gradle processes)
3. File > Invalidate caches & Restart
Я надеюсь, что это сработает для всех.
Ответ 5
Для меня решение заключалось в том, чтобы удалить ненужные/дублированные записи зависимостей. Это аналогичное решение, предложенное здесь, которое имеет смысл, но не совсем такое же решение, как и другие.
Поскольку я уже включал файлы *.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'
}
Ответ 6
Для будущих читателей. Если вы используете свои собственные AAR и обновили систему с общей зависимостью, вы также можете просто попробовать очистить проект. В Android Studio "Build" → "Чистый проект".
Это решило проблему для меня, поэтому я бы рекомендовал быстро попробовать, прежде чем начинать копать зависимости.
Ответ 7
Удалить
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.+'
}
Ответ 8
Я использовал зависимость robolectric в моем проекте Android. Я удалил все зависимости robolectric в gradle и удалил все мои тесты robolectric, затем я построил приложение и, наконец, смог запустить проект Android. Надеюсь, это сработает для нас.
Ответ 9
У меня возникла такая же проблема, когда я пыталась добавить библиотеку SignalR Java client в зависимости от проекта. Я сначала изменил целевой JDK моего приложения с 1.8.0_XX на 1.7.0_XX, но он не сработал. Затем я сменил проект SignalR на целевой 1.7.0_XX, перестроил его и добавил в папку проекта libs вместо первой сборки (которая была в 1.8.0_XX), и это чудесно сработало.
Ответ 10
Для меня проблема заключалась в том, что я использовал разные версии "API-интерфейсов служб Google Play"
До:
Нажмите, чтобы увидеть изображение
После того, как:
Нажмите, чтобы увидеть изображение
Ответ 11
Проверьте, есть ли 2 класса с одинаковым именем. Каждое имя класса должно быть уникальным.
Ответ 12
У меня была та же проблема, только я сделал проект Biuld → Rebiuld, и он снова работает;)