Ошибка: Gradle: выполнение не выполнено для задачи ': app: preDexDebug'
У меня была собственная созданная банка из другого проекта, импортированного как библиотека в другой проект. Когда я изменил код в этом проекте и экспортировал новую банку, чтобы заменить старую, я больше не могу запускать свое приложение. Я получаю только следующую ошибку:
![enter image description here]()
Я попытался удалить и добавить и добавить в качестве зависимости, добавив в качестве библиотеки. Ничто не работает. Я также сделал чистую сборку и восстановление.
Ответы
Ответ 1
Мы видели эту проблему в прошлом, когда наш проект был компиляции с версией Java, отличной от той, которая используется для компиляции библиотеки. magic number используется только для определить файлы классов, так что это не проблема. Проблема заключается в java-версии (0034.0000 == Java 8).
Самый простой способ - это нацелить Java 6, для чего может потребоваться удаление более синтаксиса из вашего кода. В нашем случае, как проект, так и библиотека были нашими, поэтому мы смогли добавить следующее, чтобы заставить нужную нам версию Java:
Библиотеки Android
для библиотек android, добавьте этот код в объект расширения "android":
android {
...
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_6
targetCompatibility JavaVersion.VERSION_1_6
}
...
}
Библиотеки Java
для java-библиотек, добавьте этот код на "верхний уровень":
apply plugin: 'java'
version '1.8.1'
group 'com.yourcompany.package'
sourceCompatibility = JavaVersion.VERSION_1_6 //these two lines
targetCompatibility = JavaVersion.VERSION_1_6 //are the only ones that matter
ПРИМЕЧАНИЕ: последние две строки являются единственными, которые важны, я добавил остальных, чтобы показать, где эти строки принадлежат, в отношении остальной части вашего файла сборки gradle.
Ответ 2
Для нас это было вызвано версией инструментальных средств Android SDK. Возникла проблема с v23.x, но не v22.x. Вам нужно удалить v23 для кордовы, чтобы выбрать v22.
Возможно, это скорее симптом, чем причина, но это может раскрыть кого-то в той же ситуации.
Ответ 3
Хотя ваша проблема кажется исправленной, я оказался здесь с подобной ошибкой (при создании образцов с сайта developer.android.com). В случае, если это полезно для других, я смог его решить, установив JAVA_HOME в соответствующее значение. В моем случае это было:
export JAVA_HOME=/usr/lib/jvm/java-6-openjdk-amd64
Ответ 4
добавление:
sourceCompatibility = JavaVersion.VERSION_X_X
targetCompatibility = JavaVersion.VERSION_X_X
в файле проекта Android gradle и файл библиотеки Java gradle работал у меня.
Извините, что я бы добавил +1, но не имел достаточно высокой репутации.