Ошибка: выполнение выполнено для задачи ': app: transformClassesWithDexForDebug' в студии android
Я переношу свои проекты из eclipse в Android Studio. При запуске одного из моих приложений я получаю следующую ошибку. Не удалось найти решение. Я также включил multidex.
Ошибка: выполнение выполнено для задачи ': Приложение: transformClassesWithDexForDebug. com.android.build.api.transform.TransformException: java.lang.RuntimeException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: процесс "команда" C:\Program Files\Java\jdk1.7.0_79\bin\java.exe '' завершен с ненулевым значением выхода 1
также мой gradle файл находится ниже
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.3"
defaultConfig {
applicationId "com.myapp"
minSdkVersion 9
targetSdkVersion 21
multiDexEnabled true
}buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard- android.txt'), 'proguard-project.txt', 'proguard-google-api-client.txt'
}
}
}
dependencies {
compile 'com.android.support:support-v4:23.4.0'
compile 'com.google.android.gms:play-services:+'
compile 'com.google.http-client:google-http-client-gson:1.20.0'
compile 'com.google.code.gson:gson:2.1'
compile 'com.android.support:appcompat-v7:23.4.0'
compile files('libs/activation.jar')
compile files('libs/additionnal.jar')
compile files('libs/android-support-v7-cardview.jar')
compile files('libs/android-support-v7-recyclerview.jar')
compile files('libs/commons-logging-1.1.1.jar')
compile 'com.google.api-client:google-api-client:1.18.0-rc'
compile 'com.google.api-client:google-api-client-android:1.18.0-rc'
compile 'com.google.api-client:google-api-client-appengine:1.18.0-rc'
compile 'com.google.http-client:google-http-client:1.18.0-rc'
compile 'com.google.http-client:google-http-client-android:1.18.0-rc'
compile 'com.google.http-client:google-http-client-appengine:1.18.0-rc'
compile 'com.google.oauth-client:google-oauth-client:1.18.0-rc'
compile 'com.google.oauth-client:google-oauth-client-appengine:1.18.0-rc'
compile files('libs/google-api-client-gson-1.18.0-rc.jar')
compile files('libs/google-api-client-jackson2-1.18.0-rc.jar')
compile files('libs/google-api-client-java6-1.18.0-rc.jar')
compile files('libs/google-api-client-servlet-1.18.0-rc.jar')
compile files('libs/google-http-client-jackson2-1.18.0-rc.jar')
compile files('libs/google-http-client-jdo-1.18.0-rc.jar')
compile files('libs/google-oauth-client-java6-1.18.0-rc.jar')
compile files('libs/google-oauth-client-jetty-1.18.0-rc.jar')
compile files('libs/google-oauth-client-servlet-1.18.0-rc.jar')
compile files('libs/GraphView-4.0.1.jar')
compile files('libs/httpclient-4.0.1.jar')
compile files('libs/httpcore-4.0.1.jar')
compile files('libs/jackson-core-2.1.3.jar')
compile files('libs/jetty-6.1.26.jar')
compile files('libs/jetty-util-6.1.26.jar')
compile files('libs/jsr305-1.3.9.jar')
compile files('libs/jxl.jar')
compile files('libs/mail.jar')
compile files('libs/transaction-api-1.1.jar')
}
Ответы
Ответ 1
Ошибка: выполнение выполнено для задачи ': Приложение: transformClassesWithDexForDebug. com.android.build.api.transform.TransformException: java.lang.RuntimeException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: команда процесса 'C:\Program Files\Java\jdk1.7.0_79\bin\java.exe' 'завершено с ненулевое значение выхода 1
Верхняя ошибка возникает из-за большого количества причин. Поэтому я могу сказать, почему эта ошибка возникает и как ее решить.
REASON 1: Дубликат имени файла класса
РЕШЕНИЕ:
когда ваш рефакторинг некоторых ваших файлов классов в проект библиотеки. и в это время вы пишете имя файла класса Итак, дважды проверьте, что у вас нет дубликатов имен
ПРИЧИНА 2: Если у вас много памяти в кеше
РЕШЕНИЕ:
Когда-нибудь, если у вас много кэш-памяти, тогда эта ошибка так решила.
перейдите к File/Invalidate caches / Restart
, затем выберите Invalidate and Restart
, он очистит вашу кэш-память.
ПРИЧИНА 3: При наличии внутренней ошибки или бета-версии для возврата к стабильной версии.
РЕШЕНИЕ:
Решение просто перейдите в меню "Сборка" и нажмите Clean Project
, и после очистки нажмите Rebuild Project
.
ПРИЧИНА 4: Когда вы сохраняете конфигурацию системы низкой.
РЕШЕНИЕ:
откройте диспетчер задач и остановите другое приложение, которое не используется в то время, поэтому освободит пространство и решит OutOfMemory
.
ПРИЧИНА 5: Проблема заключается в том, что количество ваших методов превышает 65K.
РЕШЕНИЕ:
откройте файл проекта build.gradle
add
defaultConfig {
...
multiDexEnabled true
}
и в зависимостях добавить строку ниже.
dependencies
{
compile 'com.android.support:multidex:1.0.0'
}
Ответ 2
Проверьте, включен ли multidex или нет в build.gradle(уровне приложения) в зависимостях. Если не указано ниже
dependecies{
multidexEnabled true
}
Проверьте gradle.properties(уровень приложения). Если вы видите приведенный ниже код
#org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
удалите # перед строкой, тогда это должно быть как
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
Ответ 3
Это может быть вызвано следующей причиной:
-
один из файлов jar внутри проекта использовал более старую версию сервисов google play.
-
использовать multiDexEnabled true
в defaultconfig
-
Определите классы, которые вы добавляете в зависимости. как
compile 'com.google.android.gms: play-services-maps: 8.4.0'
Не похоже на компиляцию 'com.google.android.gms:play-services:+'
Ответ 4
Пожалуйста,
Добавьте это в свой gradle файл
android {
...
defaultConfig {
...
multiDexEnabled true
}
}
И также добавьте приведенную ниже зависимость в gradle
dependencies {
compile 'com.android.support:multidex:1.0.1'
}
ИЛИ другой вариант: В вашем файле манифеста добавьте пакет MultiDexApplication из библиотеки поддержки multidex в тег приложения.
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.android.multidex.myapplication">
<application
...
android:name="android.support.multidex.MultiDexApplication">
...
</application>
</manifest>
Ответ 5
Я пробовал это, и это сработало для меня.
надеюсь, что это сработает и для других.
- Открыть файл модуля build.gradle
- понизить рейтинг sdkversion с 25 до 24 или 23
- добавить 'multiDexEnabled true'
- комментарий этой строки: compile 'com.android.support:appcompat-v7:25.1.0' (если он находится в 'зависимостях')
- Синхронизация проекта
и готовы к работе.
Здесь я добавил скриншот, чтобы объяснить вещи.
Пройдите следующие шаги
рады помочь.
спасибо.
Ответ 6
Я пробовал все, но эта ошибка не будет идти, пока я не изменил мою версию JDK.
Моя версия JDK была 7, и после того, как я изменил ее на 8, ошибка исчезла, вы можете попробовать ее, если ничего не работает.
Ответ 7
Временным решением является размещение кода ниже в модуле build.gradle
:
android {
aaptOptions.cruncherEnabled = false
aaptOptions.useNewCruncher = false
}
И синхронизировать проект.
Ответ 8
Или вы можете попробовать это -
Extend your Application class with MultiDexApplication instead of Application !
Ответ 9
Дублируемое имя Классы
как
class BackGroundTask extends AsyncTask<String, Void, Void> {
и
class BackGroundTask extends AsyncTask<String, Void, Void> {
Ответ 10
Я попробовал это для большего количества проектов, и это сработало для меня. обратите внимание, что решение может настроить ваше приложение для multidex:
android {
compileSdkVersion 25
buildToolsVersion "25.0.1"
defaultConfig {
...
minSdkVersion 9
targetSdkVersion 25
}
buildTypes {
release {
shrinkResources true
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}}
dependencies {
compile 'com.android.support:support-v4:25.1.0'
compile 'com.google.android.gms:play-services:8.3.0'
...
}
Ответ 11
Спасибо @Ironman за его полный ответ, однако я должен добавить свое решение в соответствии с тем, что я испытал, столкнувшись с этой проблемой.
В build.gradle(Module: app):
compile 'com.android.support:multidex:1.0.1'
...
dexOptions {
javaMaxHeapSize "4g"
}
...
defaultConfig {
multiDexEnabled true
}
Кроме того, поместите в файл gradle.properties следующее:
org.gradle.jvmargs=-Xmx4096m -XX\:MaxPermSize\=512m -XX\:+HeapDumpOnOutOfMemoryError -Dfile.encoding\=UTF-8
Я бы сказал, эти цифры для моей конфигурации ноутбука (MacBook Pro с 16 ГБ ОЗУ), поэтому, пожалуйста, отредактируйте их как свою конфигурацию.
Ответ 12
Мои настройки Снимок экрана:
![image]()
Благодаря этому сообщению.
Просто отключите мгновенный запуск в настройках. Вы можете легко найти ключевое слово "мгновенное", как я показал, и он переключится на нужное вам окно.