web-dev-qa-db-fra.com

Erreur: L'exécution a échoué pour la tâche ': app: transformClassesWithDexForDebug' dans le studio Android.

Je déplace mes projets d'Eclipse vers Android Studio. Lors de l'exécution de l'une de mes applications, l'erreur suivante apparaît. Impossible de trouver une solution. J'ai également activé multidex.

Erreur: L'exécution a échoué pour 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: la commande de processus 'C:\Program Files\Java\jdk1.7.0_79\bin\Java.exe' 's'est terminée avec une valeur de sortie non nulle 1

aussi mon dossier est en 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')
 }
31
user1938357

Erreur: L'exécution a échoué pour 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: Commande de processus 'C:\Program Files\Java\jdk1.7.0_79\bin\Java.exe' 's'est terminé avec valeur de sortie non nulle 1

L'erreur supérieure est due à beaucoup de raisons. Je peux donc expliquer pourquoi cette erreur se produit et comment la résoudre.

REASON 1: Dupliquer le nom du fichier de classe

SOLUTION :  

lors de la refactorisation de certains de vos fichiers de classe en un projet de bibliothèque. et cette fois-ci vous écrivez le nom du fichier de classe Alors, vérifiez bien que vous n’avez pas de noms en double

REASON 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 dans File/Invalidate caches / Restart puis sélectionnez Invalidate and Restart, votre mémoire sera vidée.

REASON 3: Lorsqu'il y a un bogue interne ou une version bêta utilisée pour revenir à la version stable.

SOLUTION :  

La solution est simple, allez dans le menu Générer et cliquez sur Clean Project et après le nettoyage, cliquez sur Rebuild Project.

REASON 4: Lorsque vous avez la mémoire du système La configuration 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 afin de libérer de l'espace et de résoudre OutOfMemory.

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

SOLUTION :  

ouvrez votre fichier Project build.gradle add

defaultConfig {
        ...
        multiDexEnabled true
    }

et dans les dépendances ajouter en dessous de la ligne.

dependencies 
    {
       compile 'com.Android.support:multidex:1.0.0'
    }
66
Ironman

** Dans mon cas, le problème est résolu avec Instant Run DISABLE **  enter image description here

8
Md. Ibrahim

Vérifiez si multidex est activé ou non dans votre build.gradle (niveau de l'application) sous dependencies.if pas placer 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

enlever # avant la ligne, alors ça devrait être comme ça

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

Cela peut être dû à la raison suivante:

  1. l'un des fichiers jar du projet utilisait une version plus ancienne des services de Google Play.

  2. utilisez multiDexEnabled true dans defaultconfig

  3. Soyez spécifique avec les classes que vous ajoutez dans les dépendances. comme 

    compiler 'com.google.Android.gms: play-services-maps: 8.4.0'

Pas comme compiler 'com.google.Android.gms:play-services:+'

4
Dipali s.

S'il vous plaît Ajoutez ceci dans votre fichier gradle

Android {
...
defaultConfig {
    ...
    multiDexEnabled true
    }
}

ET aussi ajouter la dépendance ci-dessous dans votre diplôme

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.

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

j'ai essayé celui-ci pour plus de projets et cela a fonctionné pour moi. notez que cette solution peut configurer votre application pour multidex:

Android {
     compileSdkVersion 25
     buildToolsVersion "25.0.1"

     defaultConfig {
           ...
           minSdkVersion 9
           targetSdkVersion 25
     }

     buildTypes {
          release {
              shrinkResources true
              minifyEnabled true
              proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.txt'
          }
     }}

 dependencies {
       compile 'com.Android.support:support-v4:25.1.0'
       compile 'com.google.Android.gms:play-services:8.3.0'
       ...
 }
1
medaou

Ou vous pouvez essayer ceci - 

Extend your Application class with MultiDexApplication instead of Application !
1
mayur saini

J'ai tout essayé mais cette erreur ne sera toujours pas résolue tant que je n'aurai pas changé de version de JDK

Ma version du JDK était 7, et après que je l'ai changée en 8, l'erreur est partie, vous pouvez l'essayer si rien d'autre ne fonctionne.

1

j'ai essayé celui-ci et cela a fonctionné pour moi . espérons que cela fonctionne pour les autres aussi.

  1. Ouvrir le fichier de module build.gradle
  2. rétrograder vous sdkversion de 25 à 24 ou 23
  3. ajouter 'multiDexEnabled true'
  4. commentez cette ligne: compilez 'com.Android.support:appcompat-v7:25.1.0' (si c'est dans 'dépendances')
  5. Synchronisez votre projet Et prêt à partir.

Ici, j'ai joint une capture d'écran pour expliquer les choses . Suivez ces étapes

heureux d'aider.

merci.

1
user3116317

Merci @Ironman pour sa réponse complète, mais je devrais ajouter ma solution en fonction de ce que j'ai vécu face à ce problème.

Dans build.gradle (module: app):

compile 'com.Android.support:multidex:1.0.1'

    ...

    dexOptions {
            javaMaxHeapSize "4g"
        }

    ...

    defaultConfig {
            multiDexEnabled true
    }

Placez également les éléments suivants dans le fichier gradle.properties:

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

Je devrais mentionner que ces chiffres concernent la configuration de mon ordinateur portable (MacBook Pro avec 16 Go de RAM). Veuillez donc les modifier en tant que configuration. 

1
SHi ON

Nom dupliqué Classes

comme

class BackGroundTask extends AsyncTask<String, Void, Void> {

et 

class BackgroundTask extends AsyncTask<String, Void, Void> {
1
Karthik Kompelli

Une solution temporaire consiste à placer le code ci-dessous dans le module build.gradle:

Android { 
    aaptOptions.cruncherEnabled = false
    aaptOptions.useNewCruncher = false
}

Et synchroniser le projet.

1
Mirza715

Dans mon cas, j'avais 2 projets A et B. Et je suis passé à gradle 4.5.

A dépendait de B mais les deux avaient des références de mon 3rd party jar

Je recevais cette erreur

com.Android.tools.r8.errors.CompilationError: Type de programme déjà present: com.mnox.webservice.globals.WebServiceLightErrorHashCode

Type de programme déjà présent: com.mnox.webservice.globals.WebServiceLightErrorHashCode

Réparer

  1. J'ai enlevé le bocal en double
  2. J'ai utilisé api dans le fichier B build.gradle afin qu'il soit mentionné dans A.

L'autre cause fondamentale peut être si vous avez mis à niveau vers gradle 4.5 et utilisé implementation au lieu de api dans votre commun build.gradle 

0
Siddharth

Pour moi, la solution a été de supprimer le dossier du cache Gradle (.gradle/caches) du répertoire de base et de le reconstruire. Peut-être en raison d'un problème de chargement de classe en double. 

0
Trace

Capture d'écran de mes paramètres: image

Merci à ce post .

Il suffit de désactiver l'exécution instantanée dans vos paramètres. Vous pouvez facilement rechercher le mot-clé "instantané" comme je l'ai montré et il basculerait vers la fenêtre souhaitée. 

0
刘睿博

Pour Ionic 4 Just

$ cordova clean

M'a aidé alors à courir

$ ionic cordova run Android --device
0
Code Spy

Il convient de mentionner que si d’autres suggèrent de tempérer les fichiers, j’ai pu résoudre ce problème en installant un plugin manquant (ionic framework).

Espérons que cela aide quelqu'un.

cordova plugin ajoute cordova-support-google-services --save

0
siege