Для запуска dex в процессе, демону Gradle нужна большая куча. В настоящее время он имеет приблизительно 910 МБ

Я получаю эту ошибку Gradle каждый раз, когда запускаю приложение. Ошибка:

Для запуска dex в процессе, демону Gradle нужна большая куча. В настоящее время он имеет приблизительно 910 МБ.

Для более быстрой сборки увеличьте максимальный размер кучи для демона Gradle более чем на 2048 МБ.

Для этого установите org.gradle.jvmargs = -Xmx2048M в проекте gradle.properties. Для получения дополнительной информации см. Https://docs.gradle.org/current/userguide/build_environment.html

Вот мой файл build.gradle (Module: app):

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

И вот мой файл build.gradle (Project):

 // 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 } 

и вот мой файл gradle.properties:

 # Project-wide Gradle settings. # IDE (eg 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 

Добавьте в свой Build.gradle

 android { dexOptions { javaMaxHeapSize "4g" } } 

Дополнительная информация – Android Gradle: что такое javaMaxHeapSize «4g»?

Обновление от 25 июня 2017 года

В Google IO 2017 были некоторые обновления по этой теме. Не рекомендуется устанавливать флаг в dexOptions, поэтому, если у вас есть что-то вроде следующего, вы можете его удалить.

 dexOptions { javaMaxHeapSize "2g" } 
  • Источник: ускорение сборки Android Gradle

Оригинальный ответ:

Android Studio 2.1 позволяет Dex In Process, который разделяет VM с Gradle, улучшает время сборки. В связи с этим необходимо увеличить размер демона Gradle, чтобы включить эти процессы Dex.

По крайней мере, это необходимо 2 гигабайта памяти, но вы можете попробовать с тремя, если можете себе это позволить.

gradle.properties.

 org.gradle.jvmargs=-Xmx3072m 

По умолчанию размер кучи Java max – один концерт, но если вы изменили его в файле build.gradle …

build.gradle (приложение)

 dexOptions { javaMaxHeapSize "2g" } 

… вы должны соответственно resize демона Gradle (он должен быть больше, чтобы соответствовать куче).

  • Ресурсы

    1. Официальное сообщение в блоге от Reto Meier
    2. Официальное видео в Android-разработчиках
    3. Документы DexOptions.

Заметки:

  • Пожалуйста, поймите, что выше числа варьируются от машины к машине.

Просто оставьте это на своем уровне gradle.properties:

 org.gradle.jvmargs=-Xmx2048m 

Вы можете посмотреть эту статью в качестве справочной.

Я знаю, что слишком поздно для ответа, но надеюсь, что это поможет кому-то

Я пробовал много вещей и поиска, но ничего не работает для меня, include следующие и gradle.properties также не работает в моем случае

 android { dexOptions { javaMaxHeapSize "4g" } } 

Также вы можете попробовать добавить на свой уровень gradle.properties:

 org.gradle.jvmargs=-Xmx2048m 

В моем случае проблема заключается в использовании процессора, есть много процессов, в то время как я строю apk, я просто убиваю некоторые процессы, такие как genymotion, skype, safari и т. Д., И чем недействительные кэши / перезагрузка, это работает для меня.

Измените или создайте файл с именем gradle.properties в следующем каталоге.

Для Mac, /Users/USER_NAME/.gradle/gradle.properties

Для Linux /home/USER_NAME/.gradle/gradle.properties

Для Windows, C: \ Users \ USER_NAME.gradle \ gradle.properties

и примените вышеуказанные изменения. Наконец, это должно выглядеть так,

 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 

См. Эту ссылку https://tausiq.wordpress.com/2015/02/24/android-speed-up-gradle-build-process-in-android-studio/

Вы можете пойти и изменить build.gradle как это (например, предлагаемый Veeresh Charantimath):

 android { dexOptions { javaMaxHeapSize "2g" } } 

И тогда вам, возможно, придется возиться с материалами MultiDex (вам это понадобится для больших проектов Android). Но ваша проблема может быть проще. Есть вероятность, что вы скомпилируете и включите в свой проект некоторые не нужные библиотеки. Я столкнулся с этим вопросом в своем крошечном проекте. Вот что я сделал, чтобы исправить это:

Я удалил это из build.gradle :

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

И я вручную удалил свою папку для сборки из корня приложения. Задача решена.

Это ошибка или предупреждение?

Иногда это только предупреждение, и я могу успешно его построить:

 :transformClassesWithDexForDebug To run dex in process, the Gradle daemon needs a larger heap. It currently has approximately 910 MB. For faster builds, increase the maximum heap size for the Gradle daemon to more than 2048 MB. To do this set org.gradle.jvmargs=-Xmx2048M in the project gradle.properties. For more information see https://docs.gradle.org/current/userguide/build_environment.html :mergeDebugJniLibFolders UP-TO-DATE :transformNative_libsWithMergeJniLibsForDebug :processDebugJavaRes UP-TO-DATE :transformResourcesWithMergeJavaResForDebug :validateDebugSigning :packageDebug :zipalignDebug :assembleDebug :cdvBuildDebug BUILD SUCCESSFUL Total time: 3 mins 44.991 secs Built the following apk(s): (...) 

Таким образом, проблема, которая может помешать успешной сборке, может быть другой …

Я уверен, что javaMaxHeapSize и org.gradle.jvmargs являются взаимоисключающими.

  • javaMaxHeapSize – это старый способ сделать это, при этом dex запускается за пределами процесса. Это будет аргументом для процесса dex.
  • org.gradle.jvmargs – это новый способ сделать это, с dex внутри процесса gradleации. Это максимальная память для всего процесса (gradle, включая dex)

В предупреждении говорится, что org.gradle.jvmargs должен быть> = javaMaxHeapSize (what you used previously for dex) + 512M (an estimation of what's needed for gradle own needs) .

Поэтому, если вы хотите использовать dex в процессе (что быстрее), вам не стоит заботиться о javaMaxHeapSize . Просто установите org.gradle.jvmargs на правильное значение для вашего проекта / машины.

Кажется, есть ошибка:

https://code.google.com/p/android/issues/detail?id=208214

Использование com.android.tools.build:gradle:2.1.2 Я установил org.gradle.jvmargs=-Xmx3415M с помощью dexOptions.javaMaxHeapSize "2g" и сообщение об ошибке dexOptions.javaMaxHeapSize "2g" .

В WINDOW’S откройте gradle.properties из ~ \ Users \ UserName \ .gradle, как показано ниже: для получения дополнительной информации введите описание ссылки здесь

введите описание изображения здесь

и убедитесь, что его значение минимально до 4608M, как показано ниже, для более быстрой сборки org.gradle.jvmargs = -Xmx4608M

Как только вы это сделаете, вы увидите разницу в дневных и ночных скоростях при создании вашего приложения …

  • Сначала проверьте gradle.propertises в корневом каталоге проекта.

Если это отсутствие, создайте файл так, как показано на рисунке, а затем добавьте org.gradle.jvmargs = -Xmx1536m

в противном случае, если он уже есть, увеличьте размер.

Я столкнулся с такой же проблемой, где и решил.

Например, в gradle.properties вашего корня проекта.

org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m

Попробуй это

 defaultConfig { ... // Enabling multidex support. multiDexEnabled true } 
  • Динамическая загрузка ресурсов Android
  • Ошибка Eclipse DDMS «Невозможно связать с локальным 8600 для отладчика»
  • Обнаружение, если был получен ответ на исходящий вызов
  • Заменить селекторные изображения программно
  • Я пытаюсь найти поблизости такие места, как банки, рестораны, банкоматы внутри рисованной области на картах Google в андроиде
  • В чем разница между отклонением или отменой диалога в Android?
  • Android Studio, неожиданно возникла проблема с драйвером GPU при запуске эмулятора
  • Заполните поля в веб-просмотре автоматически
  • Кнопка «Ручка» внутри строки в RecyclerView
  • Android: AsyncTask vs Service
  • «DRAW OVER OTHER APP» - это какое разрешение в android
  • Давайте будем гением компьютера.