37 votes

Erreur : Échec de l'exécution de la tâche ':app:transformClassesWithDexForDebug' dans Android Studio

Je suis en train de déplacer mes projets de eclipse vers Android Studio. En exécutant l'une de mes applications, je reçois l'erreur suivante. Je n'arrive pas à trouver de solution. J'ai également activé le multidex.

Erreur : Échec de l'exécution de la tâche ':app: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: Le processus 'commande 'C:\Program Files\Java\jdk1.7.0_79\bin\java.exe'' s'est terminé avec une valeur de sortie différente de zéro

Aussi, mon fichier gradle est ci-dessous

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 votes

0 votes

Dans la dernière version 3.2 de AS, des fichiers de ressources manquants peuvent également causer ce problème. Je ne sais pas si vous avez ce problème. Il ne suggère que : aapt "terminé avec une valeur de sortie non nulle 1" et pas de manière explicite comme dans d'autres versions.

73voto

Ironman Points 11018

Erreur: Echec de l'exécution de la tâche ':app: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: Process 'command 'C:\Program Files\Java\jdk1.7.0_79\bin\java.exe'' terminé avec une valeur de sortie non nulle 1

L'erreur ci-dessus se produit pour de nombreuses raisons. Je peux expliquer pourquoi cette erreur se produit et comment la résoudre.

RAISON 1 : Duplication du nom du fichier de classe

SOLUTION :

Lorsque vous refactorez certains de vos fichiers de classe vers un projet de bibliothèque, et à ce moment-là vous écrivez le nom du fichier de classe, donc assurez-vous de ne pas avoir de noms en double.

RAISON 2 : Lorsque vous avez beaucoup de mémoire cache

SOLUTION :

Parfois, si vous avez beaucoup de mémoire cache, cette erreur se produit, alors résolvez-la. allez à Fichier/Invalider les caches / Redémarrer puis sélectionnez Invalider et Redémarrer cela va nettoyer votre mémoire cache.

RAISON 3 : Lorsqu'il y a un bug interne ou si vous utilisez une version bêta, passez à la version stable.

SOLUTION :

La solution est simple, allez dans le menu Build et cliquez sur Nettoyer le projet et après le nettoyage, cliquez sur Reconstruire le projet.

RAISON 4 : Lorsque la mémoire de la configuration du système est faible.

SOLUTION :

Ouvrez le Gestionnaire des tâches et arrêtez les autres applications qui ne sont pas les plus utilisées à ce moment-là pour libérer de l'espace et résoudre les problèmes de Mémoire insuffisante.

RAISON 5 : Le problème est que votre nombre de méthodes dépasse les 65K.

SOLUTION :

Ouvrez votre fichier build.gradle du projet et ajoutez

defaultConfig {
        ...
        multiDexEnabled true
    }

et dans les dépendances ajoutez la ligne suivante.

dependencies 
    {
       compile 'com.android.support:multidex:1.0.0'
    }

8 votes

Si vous avez déjà ajouté multiDexEnabled true, alors la RAISON-2 vous aidera. Merci @Ironman, cela m'a aidé.

0 votes

@Nils content de le savoir.

0 votes

Comment puis-je trouver le nombre de méthodes?

11voto

**Dans mon cas, le problème a été résolu en désactivant Instant Run **entrer la description de l'image ici

8voto

TRINADH KOYA Points 898

Vérifiez si multidex est activé ou non dans votre build.gradle (niveau de l'application) sous dependecies. Si ce n'est pas le cas, placez-le comme ci-dessous

dependecies{
multidexEnabled true
}

Vérifiez votre gradle.properties (niveau de l'application). Si vous voyez le code ci-dessous

#org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

supprimez le # avant la ligne, alors cela devrait être comme ceci

org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

5voto

Naina Points 81

Veuillez ajouter ceci dans votre fichier gradle

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

ET ajoutez également la dépendance suivante dans votre gradle

dependencies {
  compile 'com.android.support:multidex:1.0.1'
}

OU une autre option serait : Dans votre fichier manifeste, ajoutez le package MultiDexApplication de la bibliothèque de support multidex dans la balise application.

        ...

4voto

Dipali s. Points 2221

Cela peut être dû à la raison suivante :

  1. un des fichiers jar à l'intérieur du projet utilisait une ancienne version des services Google Play.

  2. utilisez multiDexEnabled true dans defaultconfig

  3. soyez spécifique avec les classes que vous ajoutez dans les dépendances. par exemple

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

pas comme compile 'com.google.android.gms:play-services:+'

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X