75 votes

Pour exécuter dex dans le processus, le démon Gradle a besoin un tas plus gros. Le véhicule a actuellement environ 910 Mo

Je reçois ce Gradle erreur à chaque fois que je lance mon application. L'erreur est:

Pour exécuter dex dans le processus, la Gradle démon a besoin d'un plus grand tas. Il y a actuellement environ 910 MO.

Pour plus rapidement construit, augmentation de la taille maximale du tas pour le Gradle démon à plus de 2048 MO.

Pour ce faire jeu org.gradle.jvmargs=-Xmx2048M dans le projet gradle.les propriétés. Pour plus d'informations, voir https://docs.gradle.org/current/userguide/build_environment.html

Voici mon build.gradle (Module:app) file:

apply plugin: 'com.android.application'

    android {
        compileSdkVersion 23
        buildToolsVersion "23.0.3"

        defaultConfig {
            applicationId "mobileapp.tech2dsk"
            minSdkVersion 15
            targetSdkVersion 23
            versionCode 1
            versionName "1.0"
        }
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }
    }

    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        testCompile 'junit:junit:4.12'
        compile 'com.android.support:appcompat-v7:23.3.0'
        compile 'com.android.support:design:23.3.0'
    }

Et voici mon build.gradle(Projet) file:

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.1.0'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

et voici mon gradle.fichier de propriétés :

# Project-wide Gradle settings.

# IDE (e.g. Android Studio) users:
# Gradle settings configured through the IDE *will override*
# any settings specified in this file.

# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html

# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
# Default value: -Xmx10248m -XX:MaxPermSize=256m
# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true

52voto

Sotti Points 1188

Mise à jour du 25 juin 2017

Au Google IO en 2017, il y a eu quelques mises à jour sur ce sujet. Il n'est pas recommandé pour configurer l'indicateur sur la dexOptions, donc si vous avez quelque chose comme la prochaine, vous pouvez le supprimer.

dexOptions {
   javaMaxHeapSize "2g"
}

Réponse originale à cette question:

Android Studio 2.1 permet de Dex Dans le Processus qui partage la VM avec Gradle pour améliorer les temps de construire. Pour cette raison, il est nécessaire d'augmenter la taille de la Gradle démon pour intégrer ces Dex processus.

Au moins il est nécessaire de 2 go de mémoire, mais vous pouvez essayer avec trois, si vous pouvez vous le permettre.

gradle.les propriétés.

org.gradle.jvmargs=-Xmx3072m

Par défaut, le Java max taille de segment de mémoire est l'un de concert, mais dans le cas où vous avez modifié sur la construction.gradle fichier...

construire.gradle (App)

dexOptions {
   javaMaxHeapSize "2g"
}

...vous avez pour redimensionner la Gradle démon de la taille en conséquence (le plus grand pour s'adapter le tas).

Notes:

  • S'il vous plaît comprendre numéros ci-dessus varie d'une machine à l'autre.

51voto

Ajouter dans votre Build.gradle

Plus d’infos - Gradle Android : ce qui est javaMaxHeapSize « 4g » ?

24voto

lujop Points 3066

Laissez simplement que sur votre gradle.properties :

Vous pouvez regarder cet article en plus de la référence.

14voto

Ajay Pandya Points 31

Je sais que c'est trop tard pour la réponse, mais l'espoir qu'il sera utile à quelqu'un

J'ai essayé beaucoup de chose et beaucoup de recherche mais rien ne fonctionne pour moi agir et de gradle.propriétés marche pas dans mon cas

android {
  dexOptions {
    javaMaxHeapSize "4g"
  }
}

Aussi, Vous Pouvez Essayer d'Ajouter sur votre gradle.propriétés:

org.gradle.jvmargs=-Xmx2048m 

Dans mon cas, le problème est l'utilisation de l'uc il y a beaucoup de processus en cours d'exécution pendant que je construis apk je viens de tuer certains processus comme genymotion,skype,safari, etc, et de les invalider les caches/redémarrage ça marche pour moi.

6voto

Modifier ou créer un fichier nommé gradle.propriétés dans le répertoire suivant.

Pour Mac, /Utilisateurs/NOM_UTILISATEUR/.gradle/gradle.propriétés

Pour Linux, /home/NOM_UTILISATEUR/.gradle/gradle.propriétés

Pour Windows, C:\Users\USER_NAME.gradle\gradle.properties

et appliquer les modifications ci-dessus. Enfin, il devrait ressembler,

org.gradle.daemon=true

# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
org.gradle.parallel=true

org.gradle.configureondemand=true

# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
# Default value: -Xmx10248m -XX:MaxPermSize=256m
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

Veuillez consulter ce lien https://tausiq.wordpress.com/2015/02/24/android-speed-up-gradle-build-process-in-android-studio/

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