web-dev-qa-db-fra.com

Erreur: L'exécution a échoué pour la tâche ': app: dexDebug'. com.Android.ide.common.process.ProcessException

Erreur: L'exécution a échoué pour la tâche ': app: dexDebug'.

com.Android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Processus 'commande' C:\Program Files\Java\jdk1.8.0_40\bin\Java.exe '' terminé avec non valeur de sortie zéro 2

J'ai cherché toutes les questions et solutions similaires, mais elles ne m'aident pas. J'espère que des experts comme vous viendront. 

Le code du projet a été chargé dans bitbucket: https: //[email protected]/tainule/numad-huizhang.git

J'ai deux modules, app et endpoint. Ci-dessous est à partir du module: app:

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')

}

Ci-dessous provient du noeud final du module:

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

Enfin, j'ai résolu ce problème en modifiant la compilation 'com.google.guava: guava: 18.0' pour compiler 'com.google.guava: guava-jdk5: 17.0'

11
Hui

Il semble que vous ayez un fichier jar ou une lib apparaissant plusieurs fois.

Donc, supprimez le fichier .jar du dossier lib puis:

Build> Rebuild

82
Binod Rokka

J'ai eu la même erreur de problème qui est montrée, je le résous en ajoutant

defaultConfig {        
    // Enabling multidex support.
    multiDexEnabled true
}

J'ai eu ce problème parce que j'ai dépassé la limite de 65K méthodes imposée par Android, j'ai utilisé tant de bibliothèques

45
Netero

Je l'ajoute de sorte que quelqu'un dans une situation similaire puisse le trouver utile.

Donc, même après multiDexEnabled = true, je recevais la même erreur. Je n'avais pas bibliothèques en double . Aucune des solutions ci-dessus n'a fonctionné. Après avoir lu le journal des erreurs, j’ai trouvé que le problème OutOfMemError était la principale raison et que je pensais changer le heap size en quelque sorte. Par conséquent, ceci -

dexOptions {
        preDexLibraries = false
        javaMaxHeapSize "4g"
    }

Où "4g" signifie HeapSize de 4 Go. Et ça a marché! J'espère que ça le fait aussi pour vous.

19
Harisewak

Pour moi, plusieurs versions de la même bibliothèque étaient incluses dans /app/libs. J'utilisais Parse et j'avais ParseFacebookUtilsV3-1.9.0.jar et ParseFacebookUtilsV4-1.9.0.jar.

La suppression du fichier V3 résout le problème.

15
sonph

trois conditions peuvent causer ce problème.

  1. module différent a un pot différent 
  2. dans libs avaient contenir jar , mais dans src alse ajouter une source pertinente 
  3. gradé répéter contient , par exemple:

    compiler fileTree (inclure: [‘* .jar’], dir: ‘libs’) 

    compiler des fichiers (‘libs/xxx.jar’)

si vous savez lire le chinois, lisez ici Erreur: L'exécution a échoué pour la tâche ': app: dexDebug'.> com.Android.ide.common.process.ProcessException: o

7
yabin ya

J'ai ce problème après avoir inclus deux fois les mêmes cours

6
konmik

J'ai rencontré le même message d'erreur exact. Je ne sais pas si ma solution résoudra également votre problème.

Dans la structure du projet (app), j'ai modifié la version du kit de développement logiciel (SDK) de compilation de l'API 22 à l'API 21 et la version des outils de compilation de 22.0.0 à 21.1.2.

Lorsque j'ai téléchargé la dernière API 22 Adroid 5.1, chaque projet que je crée utilise cette API et me cause le problème. Peut-être que l’équipe Android cherche un correctif pour celui-ci.

6
cauldyclark

J'ai récemment migré l'un de nos projets d'entreprise d'Eclipse vers Android Studio.

Nous avons aussi eu l'erreur ci-dessous pendant la migration:

Erreur: L'exécution a échoué pour la tâche ': appName: transformClassesWithDexForDebug' . com.Android.build.api.transform.TransformException: com.Android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Exécuter la commande '/' Bibliothèque '/ Java/JavaVirtualMachines/jdk1.7.0_79 jdk/Sommaire/Accueil/bin/Java '' terminé avec une valeur de sortie non nulle 2

Pour le résoudre, nous avons dû faire quelques choses:

  1. Supprimer/mettre à jour les fichiers/binaires en double des bibliothèques 

compiler 'com.Android.support:support-v4:23' compiler 'com.google.Android.gms: play-services: 9.0.0'

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

  1. Définissez multiDexEnabled sur True

defaultConfig {multiDexEnabled true}

  1. Augmenter la taille du tas:

dexOptions { incrémental vrai javaMaxHeapSize "4g" }

4
Ahmed

Cela pourrait également être le cas lorsque vous avez trop de références d'objet. Examinez les résultats de la construction, en particulier dans la tâche: dex: multiDebug:

problème d'écriture en sortie: Trop de références de méthodes: 67114; max est 65536.

3
Tommy Chan

Essayez de mettre cette ligne de code dans le script de votre projet principal:

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

J'ai deux bibliothèques liées à mon projet et elles utilisaient 'com.Android.support:support-v4:22.0.0'. 

J'espère que ça aide quelqu'un.

2
Beemo

J'ai résolu le même problème en supprimant:

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

et en ajoutant pour chaque fichier jar:

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

Essayez de nettoyer et de reconstruire le projet. J'ai eu absolument la même question, cela l'a résolu.

1
robert

J'ai le même problème, et résolu par changer le '+' en un nombre exact, comme compiler "com.Android.support:appcompat-v7:21.0.+" pour compiler "com.Android.support:appcompat-v7:21.0 .0 ". 

Cela fonctionne pour moi. :)

0
tomisyourname

J'ai rencontré le même problème lors de la conversion d'un projet Eclipse en studio Android. Dans mon cas, j'avais le fichier jar de conception dans le projet Eclipse et j'avais ajouté une dépendance de celui-ci en raison de l'erreur. Je l'ai résolu en supprimant jar de libs.

0
Gibs

J'ai changé :

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