Android Studio TransformException: ошибка: сбой при выполнении задачи ':app:transformClassesWithDexForDebug'
Я получаю исключение ниже, когда пытаюсь запустить приложение с помощью Android Studio:
Ошибка: не удалось выполнить задачу ':app:transformClassesWithDexForDebug'. com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: обрабатывать 'команду'C:\Program Files\Java\jdk1.8.0_05\bin\java.exe'' завершен с ненулевым значением выхода 2
10 ответов
У меня та же проблема, после нескольких часов исследований я нашел решение, чтобы ее исправить.
Вы должны исправить build.gradle:
android {
compileSdkVersion ..
buildToolsVersion '...'
defaultConfig {
...
targetSdkVersion ..
multiDexEnabled true // this line will solve this problem
}
}
Если количество ссылок на методы в вашем приложении превышает ограничение в 65 КБ, приложение может не скомпилироваться.
Информацию о том, как это сделать, смотрите в разделе Выборочная компиляция API-интерфейсов в исполняемый файл и сборка приложений с использованием более 65 000 методов.
В моем случае с использованием Android Studio 2.0 Preview 4 я вдруг получил эту проблему и добавив multiDexEnabled true
не помогло, а также очистить и восстановить не помогло.
так что единственное, что решило это для меня, это удаление этого файла:
YOUR_APP_NAME \ приложение \ сборка \ промежуточные
и запустите приложение, и оно работает.
Изменить файл build.gradle уровня модуля
android {
...
// Enabling multidex support.
multiDexEnabled true
}
...
}
добавить зависимости скомпилировать 'com.android.support:multidex:1.0.0'
В своем манифесте добавьте класс MultiDexApplication
<manifest ...>
<application
...
android:name="android.support.multidex.MultiDexApplication">
...
</application>
Для меня закрытие всех остальных Android Studio решило проблему.
Я открыл 3 студии андроида, когда получал ошибку, после того, как закрыл 2, я не получил никакой ошибки.
Нет необходимости добавлять код, связанный с multiDex!
Похоже, была какая-то проблема с памятью, связанная с jvm.
Просто исправил эту проблему. В моем случае перестройка проекта помогла мне. Итак, попробуйте перестроить свой проект.
В моем случае измените buildToolsVersion с "24" на "23.0.2", решите проблему. Это решит проблему, особенно если вы используете старую Android Studio ниже версии 2.
В моем случае я ходил туда-сюда между Expo и Android Studio для реакции на нативную. Expo требовалось одно имя приложения для сборки, а Android Studio - другое, как только я вернул ему имя, которое android studio хотела, чтобы оно было построено и развернуто нормально.
Экспо
AppRegistry.registerComponent('main', () => App);
Android Studio
AppRegistry.registerComponent('AwesomeProject', () => App);
Я нашел ответ здесь: после изменения build.grade
файл со следующим
minSdkVersion 21
targetSdkVersion 25
multiDexEnabled true
работает отлично.
Добавьте следующую строку:
multiDexEnabled true
Внутри defaultConfig
из build.gradle
Как это:
defaultConfig{
multiDexEnabled true
}