Ошибка: выполнение выполнено для задачи ': app: transformClassesWithDexForDebug'

Ошибка

Ошибка: выполнение выполнено для задачи ': app: transformClassesWithDexForDebug'. com.android.build.transform.api.TransformException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command'/usr/lib/jvm/java-8-oracle/bin/java '' с ненулевым значением выхода 1

Мое приложение gradle file:

apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.1"
    defaultConfig {
        applicationId 'Hidden application ID'
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
        multiDexEnabled true
    }
    buildTypes {
        debug {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    lintOptions {
        disable 'InvalidPackage'
    }
    packagingOptions {
        exclude 'META-INF/services/javax.annotation.processing.Processor'
    }
    productFlavors {
    }
}

repositories {
    mavenCentral()
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.android.support:multidex:1.0.1'
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'com.android.support:design:23.1.1'
    compile 'com.android.support:cardview-v7:23.1.1'
    compile 'com.jakewharton:butterknife:7.0.1'
    compile 'com.mcxiaoke.volley:library-aar:1.0.0'
    compile 'com.google.android.gms:play-services:8.1.0'
    compile 'com.facebook.android:facebook-android-sdk:4.7.0'
    compile 'com.googlecode.libphonenumber:libphonenumber:7.2.1'
    compile 'com.getbase:floatingactionbutton:1.10.1'
    compile 'com.android.support:preference-v7:23.1.1'
}

При отладке, если я установил minifyEnabled в значение true, он скомпилируется. Однако, я не могу отлаживать свое приложение.

Я проверил этот другой вопрос: Выполнение не выполнено для задачи ': app: transformClassesWithDexForDebug' при внедрении Google для Android, но есть только один ответ и его реализация не разрешает проблему, к сожалению.

AFAIK, ошибка возникает из-за добавления слишком большого количества зависимостей gradle, но я могу ошибаться (я действительно надеюсь ошибиться, потому что все эти пакеты действительно важны!).

Пожалуйста, помогите мне решить эту ошибку. Большое спасибо!

Ответ 1

Просто исправьте зависимости сервисов Google:

Вы включаете все игровые сервисы в свой проект. Добавляйте только те, которые вы хотите.

Например, если вы используете только карты и g + signin, чем изменение

 compile 'com.google.android.gms:play-services:8.1.0'

to

compile 'com.google.android.gms:play-services-maps:8.1.0'
compile 'com.google.android.gms:play-services-plus:8.1.0'

Из документа:

В версиях сервисов Google Play до 6.5 вам пришлось скомпилировать весь пакет API в ваше приложение. В некоторых случаях это делается сложнее сохранить количество методов в вашем приложении (в том числе API-интерфейсы, библиотечные методы и собственный код) под 65 536 предел.

В версии 6.5 вы можете выборочно компилировать Google Play API обслуживания в ваше приложение. Например, чтобы включить только Google Fit и Android Wear API, замените следующую строку в своем Файл build.gradle:
compile 'com.google.android.gms: play-services: 8.3.0'
с этими строками:

compile 'com.google.android.gms: play-services-fitness: 8.3.0'
compile 'com.google.android.gms: play-services-wearable: 8.3.0'

Весь список можно найти здесь.

Ответ 2

Попробуйте

dexOptions {
    javaMaxHeapSize "4g"
    preDexLibraries = false
}

Я не знаю причины. Что-то о preDexLibraries: https://sites.google.com/a/android.com/tools/tech-docs/new-build-system/tips

Согласно @lgdroid57:

Следующий ресурс должен помочь объяснить, что делает этот код: link (http://google.github.io/android-gradle-dsl/current/com.android.build.gradle.internal.dsl.DexOptions.html) Свойство | Описание javaMaxHeapSize | Устанавливает значение -JXmx * при вызове dx. Формат должен соответствовать шаблону 1024M. preDexLibraries | Будь то библиотеки pre-dex. Это может улучшить инкрементные сборки, но чистые сборки могут быть медленнее.

Ответ 3

Попробуйте добавить multiDexEnabled true в ваше приложение build.gradle.

  defaultConfig {
    multiDexEnabled true
}

Ответ 4

Это проблема Multidex. Вы можете попытаться удалить какую-нибудь банку, или можете попробовать следующее: http://developer.android.com/tools/building/multidex.html#mdex-gradle в приложении build.gradle:

    defaultConfig {
        ...
        minSdkVersion 14
        targetSdkVersion 21
        ...

        // Enabling multidex support.
        multiDexEnabled true
    }
dependencies {
  compile 'com.android.support:multidex:1.0.0'
}

В вашем манифесте:

<?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

добавьте multiDexEnabled true в default config file of build.gradle, как этот

    defaultConfig {
        multiDexEnabled true
       }

Ответ 6

Решение, которое работало для меня лично, было:

в build.gradle

defaultConfig {
        multiDexEnabled true
    }

 dexOptions {
        javaMaxHeapSize "4g"
    }

Ответ 7

Мой ответ немного устарел, но для меня единственным решением было добавить параметр multiDexEnabled в defaultConfig, например так:

    android{
        ...
        defaultConfig{
            ...
            multiDexEnabled true
        }
    }

Если это не работает, попробуйте добавить этот фрагмент кода:

    configurations.all {
    resolutionStrategy.eachDependency { DependencyResolveDetails details ->
        def requested = details.requested
        if (requested.group == 'com.android.support') {
            if (!requested.name.startsWith("multidex")) {
                details.useVersion '26.1.0'
            }
        }
    }
}

Моя ошибка была связана с проблемой с разными версиями библиотек, и это помогло.

Я надеюсь, что это может помочь кому-то :)

Ответ 8

Убедитесь, что вы не используете две версии сервиса google.

Например, имея:

compile 'com.google.firebase:firebase-messaging:9.8.0'

и

compile 'com.google.firebase:firebase-ads:10.0.0'

Ответ 9

У меня возникла эта проблема, когда я обновил плагин Gradle с версии 1.2.3 до 1.5.0, как предлагал Android Studio. На веб-странице 1.5.0 выглядит бета-версией.

Честно говоря, я не знаю, какие преимущества имеет версия 1.5.0, но я предпочел бы дождаться стабильной версии.

Конечно, переход к 1.2.3 решил проблему.

Ответ 10

Возможная помощь

Пробовал как абсолютное последнее средство после исчерпания всех других опций

Я удалил все палки памяти (RAM), но один. У меня теперь меньше памяти, но она снова работает. Я не могу притворяться, что знаю, почему процесс сборки всегда обнаружил поврежденную память, или если это 100% основная причина - в других отношениях система работает нормально. Может быть, это что-то попробовать, удачи.

Ответ 11

Для меня закрытие всех остальных Android Studio решило проблему.

Я открыл 3 студии андроида, когда я получал ошибку, после того как я закрыл 2, я не получил никаких ошибок.

Не нужно добавлять код, связанный с multiDex!

Ответ 12

Нет необходимости в мультитексе. Для "старого" проекта, открытого в Android Studio 2.1, он менял версию плагина gradle от 1.5.0 до 2.1.0, которая исправила проблему для меня.

buildscript {
    dependencies {
        classpath 'com.android.tools.build:gradle:2.1.0'
    }
}

Ответ 13

Я решил это! Это набор настроек и обновлений. Добавьте эти переменные, где они вписываются в build.gradle

android {
packagingOptions {
    exclude 'META-INF/ASL2.0'
    exclude 'META-INF/LICENSE'
    exclude 'META-INF/NOTICE'
}
dexOptions {
    javaMaxHeapSize "4g"
}
defaultConfig {
    multiDexEnabled true
}
compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_7
    targetCompatibility JavaVersion.VERSION_1_7
}
}

Затем обновите до Java 8 http://tecadmin.net/install-oracle-java-8-jdk-8-ubuntu-via-ppa/, и все будет решено! Это из-за обновления buildTools и новой студии Android. Ничто другое не потерпит неудачу.

Ответ 14

Изменяя

compile 'com.google.android.gms: play-services: 8.1.0'

только для необходимых файлов, проблема может быть решена Эта проблема возникает из-за превышения файлов в файле build.gradle.

Ответ 15

Перейдите в сборку → Очистите и запустите приложение снова

Ответ 16

Перейти в сборку ->

Чистый проект ->

Запустить проект: сделано

работая над android 5.1 для меня

Ответ 17

Используя ионную, я смог исправить эту ошибку, используя команду: "cordova clean"

Ответ 18

У меня была эта проблема, когда я делегировал свою задачу компиляции Google Compute Engine через SSH. Характер этой проблемы - ошибка памяти, о чем свидетельствует журнал сбоев; в частности, он бросается, когда Java заканчивает работу с виртуальной памятью во время сборки.

Важно: Когда gradle происходит сбой из-за этой ошибки памяти, демоны gradle продолжают работать задолго после сбоя задачи компиляции. При повторной попытке сборки с использованием gradle будет выделен новый демон gradle. Вы должны гарантировать, что вы должным образом распоряжаетесь любыми разбитыми экземплярами с помощью gradlew --stop.

Журналы аварийных сообщений hs_error_pid указывают на следующие обходные пути:

# There is insufficient memory for the Java Runtime Environment to continue.
# Possible reasons:
#   The system is out of physical RAM or swap space
#   In 32 bit mode, the process size limit was hit
# Possible solutions:
#   Reduce memory load on the system
#   Increase physical memory or swap space
#   Check if swap backing store is full
#   Use 64 bit Java on a 64 bit OS
#   Decrease Java heap size (-Xmx/-Xms)
#   Decrease number of Java threads
#   Decrease Java thread stack sizes (-Xss)
#   Set larger code cache with -XX:ReservedCodeCacheSize=

Я обнаружил, что после увеличения ресурсов среды выполнения виртуальной машины эта проблема была решена.

Ответ 19

У меня была аналогичная ошибка. Я исправил его, просто переключив каталог. Повторное клонирование моего проекта из моего репозитория git, импорт его в студию android и его создание. Похоже, что один из каталогов/файлов, созданных Android Studio, может привести к повреждению вашего проекта. Удаление всех файлов с Android Studio в вашем проекте или выполнение того, что я сделал, могут решить проблему. Надеюсь, это поможет.

Ответ 20

Устранить проблему с установкой проблемы build.gradle(Module: Android).

Измените его на работоспособную версию.

    android {
        buildToolsVersion '23.0.1'
    }

Ответ 21

Для всех, кто столкнулся с этой проблемой/столкнется с ней в будущем:

Нажмите на меню "Сборка" → "Выбрать вариант сборки" → "отладить"

Выдача на отладку в модуле: приложение   /* debug {                                                          отлаживаемый истинный                                                       } */

Перейдите в меню "Сборка" → сгенерируйте подписанный apk → .... → постройте его

Ответ 22

Переместите объявление приложения плагина в нижней части файла:

применить плагин: 'com.google.gms.google-services'

Ответ 23

По-видимому, я решил проблему, объединив все решения добавив следующее к манифесту android:

<application
...
        android:name="android.support.multidex.MultiDexApplication" >
...
</application>

Следуя команде build.gradle app

android {
...

    dexOptions {
        javaMaxHeapSize "4g"
        preDexLibraries = false
    }
...
    defaultConfig {

        multiDexEnabled true

   }

}

Ответ 24

  1. Выполнить: плагин cordova rm cordova-plugin-compat --force
  2. Выполнить: плагин cordova добавить [email protected]
  3. Изменение: config.xml в вашей папке проекта используйте "6.2.3", а не "^ 6.2.3", затем удалите папку платформ /android, перезапустите кордову, подготовьте андроид и создайте андроид corova

Ответ 25

просто удалите обе папки build в /android и /android/app

и строить снова с помощью react-native run-android

Ответ 26

Не сходите с ума, я просто чист, а затем перестраиваю проект, и ошибка ушла

Ответ 27

У меня была эта ошибка при запуске проекта Ionic на устройстве Android, и я решил ее, удалив и добавив платформу Android:

ionic cordova platform remove android
ionic cordova platform add android

Ответ 28

реактивное обновление

затем

реагировать-родной запуск андроид

Ответ 29

Вы можете использовать эту команду

Проект открывается с помощью командной строки

cd android 

затем

./gradlew clean

затем

cd ..


react-native run-android

Ответ 30

Если используется java 8 или выше, проблема в том, что библиотеки, которые мы используем, несовместимы с java 8. Итак, чтобы решить эту проблему, добавьте эти две строки для сборки.gradle вашего приложения и всех подмодулей, если таковые имеются. (Android-студия четко показывает, как это сделать в сообщении об ошибке)

targetCompatibility = '1.7' sourceCompatibility = '1.7'