Ошибка: выполнение выполнено для задачи: app: dexDebug. com.android.ide.common.process.ProcessException

Ошибка: выполнение выполнено для задачи ': 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

Я искал все похожие вопросы и решения, но они не помогают. Надеюсь, такие эксперты, как вы, придумали.

Код проекта загружен в битбакет: https://[email protected]/tainule/numad-huizhang.git

У меня есть два модуля, приложение и конечная точка. Ниже приведен модуль: приложение:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    defaultConfig {
        applicationId "edu.neu.madcourse.huizhang1"
        minSdkVersion 14
        targetSdkVersion 21
        versionCode 3
        versionName "2.1"
//        multiDexEnabled true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

        }
    }
}

dependencies {


    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile "com.android.support:appcompat-v7:21.0.+"
    compile 'com.google.android.gms:play-services:+'
    compile 'com.google.guava:guava:18.0'
    compile 'com.google.code.gson:gson:1.7.2'
    compile 'org.apache.httpcomponents:httpmime:4.4-beta1'
    compile 'org.apache.httpcomponents:httpclient:4.4-beta1'
    compile 'org.apache.httpcomponents:httpcore:4.4-beta1'
    compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.3'
    compile project(path: ':endpoint', configuration: 'android-endpoints')
    compile files('src/main/res/libs/KeyValueAPI.jar')

}

Ниже конечной точки модуля:

buildscript {
    repositories {
        mavenLocal()
        mavenCentral()
    }
    dependencies {
        classpath 'com.google.appengine:gradle-appengine-plugin:1.9.17'
    }
}

repositories {
    mavenCentral();
}

apply plugin: 'java'
apply plugin: 'war'
apply plugin: 'appengine'

sourceCompatibility = 1.7
targetCompatibility = 1.7

dependencies {
    appengineSdk 'com.google.appengine:appengine-java-sdk:1.9.8'
    compile 'com.google.appengine:appengine-endpoints:1.9.8'
    compile 'com.google.appengine:appengine-endpoints-deps:1.9.8'
    compile 'javax.servlet:servlet-api:2.5'
    compile 'com.googlecode.objectify:objectify:4.0b3'
    compile 'com.ganyo:gcm-server:1.0.2'
//        compile 'com.github.fengdai:alertdialogpro-theme-material:0.1.0'

}

appengine {
    downloadSdk = true
    appcfg {
        oauth2 = true
    }
    endpoints {
        getClientLibsOnBuild = true
        getDiscoveryDocsOnBuild = true
    }
}

Ответ 1

Наконец, я решил эту проблему, изменив компиляцию 'com.google.guava: guava: 18.0' для компиляции 'com.google.guava: guava-jdk5: 17.0'

Ответ 2

Кажется, у вас есть файл jar или lib, появляющийся несколько раз.

Итак, удалите файл .jar из папки lib, а затем:

Build > Rebuild

Ответ 3

У меня была та же ошибка проблемы, которая показана, я решаю ее, добавляя

defaultConfig {        
    // Enabling multidex support.
    multiDexEnabled true
}

У меня была эта проблема, потому что я превысил ограничение на DeX 65K, введенное Android i, использовало так много библиотек

Ответ 4

Я добавляю его, чтобы кто-то в подобной ситуации мог найти это полезным.

Итак, даже после multiDexEnabled = true я получал ту же ошибку. У меня не было дубликатов библиотек. Ни одно из вышеперечисленных решений не работало. После чтения журнала ошибок я обнаружил, что проблема OutOfMemError является основной причиной и как-то подумала об изменении heap size. Следовательно, это -

dexOptions {
        preDexLibraries = false
        javaMaxHeapSize "4g"
    }

Где "4g" означает HeapSize 4 ГБ. И это сработало! Надеюсь, это и для вас.

Ответ 5

Для меня у меня было несколько версий одной и той же библиотеки, включенных в /app/libs. Я использовал Parse, и у меня были как ParseFacebookUtilsV3-1.9.0.jar, так и ParseFacebookUtilsV4-1.9.0.jar.

Удаление баннера V3 решает проблему.

Ответ 6

Это может вызвать три условия.

  • отличается модуль имеют разный jar
  • в libs содержал jar, но в src alse добавить соответствующий источник
  • gradle repeat содержат, например:

    compile fileTree (include: ['*.jar], dir:' libs)

    скомпилировать файлы ('libs/xxx.jar)

если вы можете читать китайский язык, читайте здесь Ошибка: выполнение не выполнено для задачи: app: dexDebug '. > com.android.ide.common.process.ProcessException: o

Ответ 7

Я столкнулся с тем же самым точным сообщением об ошибке. Я не совсем уверен, что мое решение решит вашу проблему.

В структуре проекта (приложение) я изменил версию SDK компиляции с API 22 на API 21 и изменил версию инструментальных средств с 22.0.0 по 21.1.2.

Когда я загрузил последний API 22 Adroid 5.1, каждый проект, который я создаю, использует этот API и вызывает у меня проблему. Возможно, Android Team ищет исправление для этого.

Ответ 8

У меня эта проблема после включения тех же классов дважды

Ответ 9

Недавно я перенес один из наших корпоративных проектов из Eclipse в Android Studio.

Мы также получили ошибку ниже при миграции:

Ошибка: выполнение выполнено для задачи ': appName: transformClassesWithDexForDebug'.  com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command'/Library/Java/JavaVirtualMachines/jdk1.7.0_79. jdk/Содержание/Главная/bin/java '' завершена с ненулевым значением выхода 2

Чтобы решить эту проблему, нам пришлось сделать несколько вещей:

  • Удалить/обновить дубликаты jars/files из libs

compile 'com.android.support:support-v4:23' компилировать 'Com.google.android.gms: стыковые услуги: 9.0.0'

to compile 'com.google.android.gms:play-services:9.0.0'

  1. Установите для параметра multiDexEnabled значение True

defaultConfig {multiDexEnabled true}

  1. Увеличить размер кучи:

dexOptions {         incremental true         javaMaxHeapSize "4g"     }

Ответ 10

Это также может иметь место, когда у вас слишком много ссылок на объекты. Взгляните на результаты сборки, esp в задаче: dex: multiDebug:

Проблема с записью: слишком много ссылок на методы: 67114; max - 65536.

Ответ 11

Попробуйте поместить эту строку кода в ваши основные проекты gradle script:

configurations { all*.exclude group: 'com.android.support', module: 'support-v4' }

У меня есть две библиотеки, связанные с моим проектом, и они используют "com.android.support:support-v4:22.0.0".

Надеюсь, что это поможет кому-то.

Ответ 12

Я решил эту же проблему, удалив:

compile fileTree(include: ['*.jar'], dir: 'libs')

и добавление для каждого файла jar:

compile files('libs/yourjarfile.jar')

Ответ 13

Попробуйте очистить и перестроить проект. У меня был абсолютно такой же вопрос, это решило его.

Ответ 14

У меня такая же проблема, и я решил сменить "+" на точное число, например компилировать "com.android.support:appcompat-v7:21.0.+" для компиляции "com.android.support:appcompat- v7: 21.0.0".

Это работает для меня.:)

Ответ 15

Я изменил:

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

compile 'com.google.android.gms:play-services-auth:9.0.0'

to:

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

compile 'com.google.android.gms:play-services-auth:9.0.0'

Ответ 16

Я столкнулся с той же проблемой при преобразовании проекта eclipse в Android-студию. В моем случае у меня был проект lirary jar файл в проекте eclipse, и я добавил то же самое в gradle, вызвавшем ошибку. Я решил ее, удалив jar из libs.

Ответ 17

Обновление Gradle помогло мне, я столкнулся с этой проблемой при создании приложения Ionic для Android, сборка прошла успешно, когда я обновил свой Gradle с версии 4.8.1 до 5.1.1 и переустановил платформу Android.