Я только что обновил Android Studio до версии 3.5 Beta 1 и получаю
Срок действия демона истекает из-за исчерпания пространства кучи JVM
сообщение во время сборки. Кроме того, для завершения сборки требуется больше времени. Кто-нибудь знает об этом?
Я только что обновил Android Studio до версии 3.5 Beta 1 и получаю
Срок действия демона истекает из-за исчерпания пространства кучи JVM
сообщение во время сборки. Кроме того, для завершения сборки требуется больше времени. Кто-нибудь знает об этом?
Ответы:
Я смог решить эту проблему для своего проекта React Native , настроив следующее:
// gradle.properties
org.gradle.daemon=true
org.gradle.configureondemand=true
org.gradle.jvmargs=-Xmx4g -XX:MaxPermSize=2048m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
и
// app/build.gradle
android {
dexOptions {
javaMaxHeapSize "3g"
}
}
Это можно исправить, увеличив настроенный максимальный размер кучи. для проекта.
Через IDE:
Добавьте следующие строки в файл gradle.properties. Размер памяти ниже может быть настроен в зависимости от наличия ОЗУ
org.gradle.daemon=true
org.gradle.jvmargs=-Xmx2560m
Через графический интерфейс:
В настройках, поиск «Настройка памяти» и увеличить IDE максимального размера кучи и Daemon максимального размера кучи в соответствии с наличием системной памяти.
Решение - увеличить память для сборки Android.
По мере того как вы добавляете дополнительные модули в свое приложение, система сборки Android становится все более требовательной, и настройки памяти по умолчанию работать не будут. Чтобы избежать OutOfMemoryErrors во время сборки Android, вам следует раскомментировать альтернативную настройку памяти gradle, присутствующую в /android/gradle.properties :
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
Вы можете найти gradle.properties внутри android папки .
PS
Что мы этим делаем и почему это помогает?
Позвольте мне прояснить базовую терминологию для понимания всего этого.
Демон : - Демон - это компьютерная программа, которая работает как фоновый процесс, а не находится под прямым управлением интерактивного пользователя.
Android Studio 2.1 включает новую функцию: Dex In Process , которая может значительно увеличить скорость полных чистых сборок, а также повысить производительность Instant Run.
Чтобы воспользоваться преимуществами Dex In Process , вам необходимо изменить файл gradle.properties и увеличить объем памяти, выделенной для виртуальной машины Gradle Daemon, на 1 ГБ, минимум до 2 ГБ, используя свойство org.gradle.jvmargs. :
Задает аргументы JVM, используемые для процесса демона. Этот параметр особенно полезен для настройки параметров памяти.
org.gradle.jvmargs=-Xmx2048m
Значение по умолчанию:
-Xmx10248m -XX:MaxPermSize=256m
По умолчанию выделение памяти Gradle Daemon VM составляет 1 гигабайт - этого недостаточно для поддержки dexInProcess, поэтому, чтобы воспользоваться этим преимуществом, вам необходимо установить его как минимум на 2 гигабайта.
Dex in process работает, позволяя запускать несколько процессов DEX в одной виртуальной машине, которая также используется совместно с Gradle, поэтому вам необходимо выделить дополнительную память, прежде чем ее можно будет включить - эта память будет совместно использоваться Gradle и несколькими процессами DEX.
Если вы увеличили javaMaxHeapSize в файле build.gradle на уровне модуля сверх значения по умолчанию в 1 гигабайт, вам потребуется соответственно увеличить память, назначенную Gradle Daemon.
Когда достаточно памяти, Dex in Process включен по умолчанию, улучшая общую производительность сборки и устраняя накладные расходы на запуск нескольких параллельных экземпляров виртуальных машин . В результате значительно улучшается время сборки, включая мгновенный запуск, инкрементную и полную сборку.
Источник: https://medium.com/google-developers/faster-android-studio-builds-with-dex-in-process-5988ed8aa37e
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8в gradle.properties. Если все еще не работает, извините, я не знаю, как это исправить.
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8в android/gradle.propertiesсработанном лайке оберег. Благодаря!! @KailashUniyal