it-roy-ru.com

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

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

Код проекта был загружен в bitbucket: 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
    }
}
70
Hui

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

11
Hui

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

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

Build> Rebuild

82
Binod Rokka

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

defaultConfig {        
    // Enabling multidex support.
    multiDexEnabled true
}

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

45
Netero

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

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

dexOptions {
        preDexLibraries = false
        javaMaxHeapSize "4g"
    }

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

19
Harisewak

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

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

15
sonph

три условия могут вызвать эту проблему.

  1. отличаются модуль имеют разные банки 
  2. в библиотеках содержали jar ,, но в src alse добавьте соответствующий источник 
  3. повторение gradle содержит , например:

    compile fileTree (включая: [‘* .jar’], dir: ‘libs’) 

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

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

7
yabin ya

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

6
konmik

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

В Структуре проекта (приложение) я изменил версию Compile SDK с API 22 на API 21 и изменил версию Build Tools с 22.0.0 на 21.1.2.

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

6
cauldyclark

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

Мы также получили следующую ошибку во время миграции:

Ошибка: не удалось выполнить задачу ': appName: transformClassesWithDexForDebug' . com.Android.build.api.transform.TransformException: com.Android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: обработать «команду» /Library/Java/JavaVirtualMachines/jdk1.7.0_79. jdk/Contents/Home/bin/Java '' завершено с ненулевым значением выхода 2

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

  1. Удалить/обновить дубликаты jar/файлов из библиотек 

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

в compile 'com.google.Android.gms:play-services:9.0.0'

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

defaultConfig {multiDexEnabled true}

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

dexOptions { инкрементная истина javaMaxHeapSize "4g" }

4
Ahmed

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

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

3
Tommy Chan

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

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

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

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

2
Beemo

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

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

и добавив для каждого файла JAR:

compile files('libs/yourjarfile.jar')
2
Sa Qada

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

1
robert

У меня та же проблема, и она решена путем замены «+» на точное число, например, «compile» com.Android.support:appcompat-v7:21.0.+ «to compile» +0,0" . 

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

0
tomisyourname

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

0
Gibs

Я изменился :

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

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

к:

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

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

0
Abdul haleem