web-dev-qa-db-fra.com

Résolution du problème de mémoire suite à la mise à jour de buildToolsVersion '23 .0.1 'dans Android studio

Je me débarrasse très souvent du problème de mémoire après avoir mis à jour buildToolsVersion '22.0.1' en buildToolsVersion '23.0.1'. Je suis vraiment confus et je ne sais pas comment résoudre ce problème, car cette erreur ne s'affiche qu'avec buildTools version 23.0.1. Alors que ça fonctionne bien quand je le change en 22.0.1. Aidez-moi, s'il vous plaît. Je poste l'erreur que je reçois comme suit,

Uncaught translation error: Java.util.concurrent.ExecutionException: Java.lang.OutOfMemoryError: Java heap space
Uncaught translation error: Java.util.concurrent.ExecutionException: Java.lang.OutOfMemoryError: Java heap space
Uncaught translation error: Java.util.concurrent.ExecutionException: Java.lang.OutOfMemoryError: GC overhead limit exceeded
Uncaught translation error: Java.util.concurrent.ExecutionException: Java.lang.OutOfMemoryError: Java heap space
Uncaught translation error: Java.util.concurrent.ExecutionException: Java.lang.OutOfMemoryError: GC overhead limit exceeded
Uncaught translation error: Java.util.concurrent.ExecutionException: Java.lang.OutOfMemoryError: Java heap space
Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
> com.Android.build.transform.api.TransformException: com.Android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.7.0_25\bin\Java.exe'' finished with non-zero exit value 1

build.gradle

apply plugin: 'com.Android.application'

Android {
    compileSdkVersion 23
    buildToolsVersion '23.0.1'

    defaultConfig {
        applicationId "com.example.app"
        minSdkVersion 14
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
        // Enabling multidex support.
        multiDexEnabled true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {

    compile 'com.Android.support:appcompat-v7:23.0.1'
    compile 'com.Android.support:support-v4:23.0.1'
    compile 'com.Android.support:design:23.0.0'
    compile 'com.Android.support:cardview-v7:23.0.1'
    compile 'com.Android.support:recyclerview-v7:23.0.1'
    compile 'com.Android.support:palette-v7:23.0.1'
    compile 'com.google.Android.gms:play-services:7.5.0'
}

Merci d'avance.

74
Chandru

Ajoutez ceci à votre fermeture Android dans votre fichier build.gradle:

dexOptions {
    javaMaxHeapSize "4g"
}

Le fichier JAR Google Android de Studio Studio est à l'origine de l'erreur de dépassement de la limite de charge du GC

197
mhdjazmati

La réponse acceptée fonctionne, mais j'étais un peu confus quant à l'endroit où placer la dexOptions dans mon build.gradle. Nous le mettons effectivement dans la section Android.

Voici un extrait de code:

Android {

    dexOptions {
        javaMaxHeapSize "4g"
    }

    ......
}
29
Max

En fait, pour moi, une solution plus complexe, combinant tout ce qui est en haut, a été utilisée, ainsi que l’activation de multidex dans le fichier build.gradle du module. 

A. Ajoutez cette ligne dans la section defaultConfig pour activer multiDex

// Enabling multidex support.
multiDexEnabled true

B. Puis définissez les dexOptions , comme ceci:

dexOptions {
    incremental true
    javaMaxHeapSize "4G"
}

C. Après le passage à multidex et la définition du segment de mémoire sur 4g, une erreur de débordement peut survenir et me conduire à supprimer le commentaire et à modifier la ligne jvmargs du fichier gradle.properties du projet, comme suit:

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

Les valeurs peuvent différer selon votre machine. Vous pouvez également utiliser des valeurs doubles.

12
Codrut TG

En plus de la procédure ci-dessus, il existe une autre option pour définir les arguments jvm.

org.gradle.jvmargs="-Xms2g -Xmx4g" in gradle.properties .

Le réglage sert à modifier la mémoire. Xms: mémoire de démarrage Xmx: mémoire maximale

4
Annada

J'ai résolu ce problème 

  1. allez dans "Système" 
  2. Cadre Environnemental Adwanced 
  3. Editez les valeurs _Java_OPTIONS de "-Xms1024m" à "-Xms2048m"
    (si Exist pas _Java_OPTIONS que de le créer, cliquez sur Nouveau bouton) 
  4. ok & save Redémarrer

Je pense que ce sera utile pour vous aussi ... si cela peut vous être utile.

2
Dinesh
dexOptions {
        javaMaxHeapSize "4g"
    }

Je faisais face au même problème en ajoutant ceci dans le fichier build.gradle (au niveau du module) qui a résolu mon problème.

0
Mohsin Bagwan