Ошибка: выполнение выполнено для задачи: app: dexDebug. > комманда завершена с ненулевым значением выхода 2
В студии Android я реализую push-уведомление. Я загрузил демо-версию и импортировал в андроид-студию.
В исходном коде нет проблем, но когда я запускаю эту программу, он покажет проблему:
Ошибка: выполнение выполнено для задачи ': app: dexDebug'.
com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: процесс "команда" C:\Program Files\Java\jdk1.8.0_40\bin\java.exe '' завершен с ненулевым значением выхода 2
Как я могу его решить? Пожалуйста, помогите!
Ответы
Ответ 1
Вам нужно знать основную причину проблемы. Иногда может быть ошибка JDK. Когда я проанализировал, я обнаружил
Невозможно выполнить идентификатор метода dex: не в [0, 0xffff]: 65536
Чуть выше следующей ошибки
org.gradle.process.internal.ExecException: команда процесса 'C:\Program Files\Java\jdk1.8.0_40\bin\java.exe' 'закончен с ненулевое значение выхода 2
Итак, я включил multidex и работал
android {
defaultConfig {
...
multiDexEnabled = true
}
}
Итак, чтобы выяснить вашу проблему, просто проследите, что происходит неправильно.
Ответ 2
Проблема в JDK.. использует JDK 7, потому что 8 не поддерживается для реализации Android. Подробнее об этом . Удачи
Ответ 3
Не уверен, что вы еще это пробовали, но я удалил файлы .bin и .lock из папки .gradle(но сохранил cache.xml) и был успешно создан! Проблема решена для меня.
Я переключился на JDK 7, но ничего не изменил до версии 8.
Ответ 4
Эта проблема возникает не из-за JDK 1.8 или 1.7, а из-за зависимостей. Проверьте свои зависимости Gradle.
У меня возникла аналогичная проблема, в моем случае проблема возникла из-за зависимости от Facebook.
dependencies {
...
...
...
...
...
//Commented the following one
compile 'com.facebook.android:facebook-android-sdk:4.0.0'
}
после комментирования вышеуказанной строки все было нормально
Ответ 5
Попробуйте добавить блок dexOptions в android
android {
dexOptions {
javaMaxHeapSize "4g"
}
}
Это сработало для меня.