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