Android Studio Gradle Проблема: OutOfMemoryError: пространство PermGen

После нескольких часов борьбы, чтобы получить более старый проект, импортированный из Eclipse, для использования Gradle и в Android Studio v0.1.3... то, что я получил до сих пор, я могу на самом деле выполнить сборку в командной строке, но когда я делаю Build/Rebuild Project в Studio, я получаю:

Gradle: 

FAILURE: Build failed with an exception.
* What went wrong:
A problem occurred configuring project ':EpicMix'.
> Failed to notify project evaluation listener.
   > A problem occurred configuring project ':facebook'.
      > Failed to notify project evaluation listener.
         > java.lang.OutOfMemoryError: PermGen space

Это не ОГРОМНЫЙ проект, есть несколько небольших подпроектов (включая Facebook), поэтому я не думаю, что это действительно память. Я просто не могу понять, что это такое...

Ответ 1

Для тех из вас, кто запустил gradle из командной строки, создайте файл gradle.properties, поместите его в корень вашего проекта и добавьте следующее:

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

Ответ 2

Размер пространства PermGen можно увеличить в Android Studio в разделе "Файл" > "Настройки" > "Компилятор". Найдите параметр "Дополнительные параметры VM процесса компилятора". Просто добавьте следующий параметр:

-XX:MaxPermSize=512M

Значение по умолчанию - 92M. Используйте G, если вы хотите указать значение в гигабайтах.

Ответ 3

Если вы находитесь в Mac OS X, возможно увеличить файл MaxPermSize внутри файла

/Applications/Android Studio.app/bin/idea.vmoptions

Ответ 4

Рекомендуемый способ установки аргументов JVM, таких как максимальный размер PermGen, заключается в следующем: http://tools.android.com/tech-docs/configuration p >

Android Studio 2.0 и новее

Начиная с Android Studio 2.0, есть возможность получить доступ к файлу конфигурации непосредственно из среды IDE.

Используйте меню Help->Edit Custom VM Options. введите описание изображения здесь

На странице конфигурации полный набор аргументов JVM выглядит следующим образом:

-Xms128m -Xmx750m -XX:MaxPermSize=350m -XX:ReservedCodeCacheSize=96m -XX:+UseCompressedOops

Устаревшие инструкции:

Вы должны создать свой собственный файл studio.vmoptions и поместить здесь настройки JVM. Местоположение вашего файла должно быть:

  • Mac OS ~/Library/Настройки/AndroidStudio/studio.vmoptions
  • Linux ~/.AndroidStudio/studio.vmoptions (или ~/.AndroidStudio/studio64.vmoptions)
  • Windows: % USERPROFILE%.AndroidStudio\studio.exe.vmoptions (или% USERPROFILE%.AndroidStudio\studio64.exe.vmoptions)

Обратите внимание, что вы больше не должны редактировать файлы в каталоге приложения AndroidStudio, поскольку они будут перезаписаны каждой новой установкой/обновлением в среде IDE.

Ответ 5

Кроме того, этот работал у меня - если вы в Linux, просто установите переменную окружения GRADLE_OPTS как "-XX: MaxPermSize = 512m" (или что-то еще размер, который вы хотите).

Ответ 6

Попробуйте добавить это к gradle.properties:

 org.gradle.jvmargs=-XX:MaxPermSize=512m -XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled -XX:+HeapDumpOnOutOfMemoryError -Xmx1024m -Dfile.encoding=utf-8

Ответ 7

У вас может быть файл gradle.properties, а затем добавить следующее.

Создайте или отредактируйте ~/.gradle/gradle.properties, чтобы включить следующие

org.gradle.daemon=false
GRADLE_OPTS="-Xmx2048m -Xms2048m -XX:MaxPermSize=1024m"
org.gradle.jvmargs=-XX:MaxPermSize=1024m

Ответ 8

При каждой сборке или очистке запускается несколько java-процессов, вызывающих ошибки в памяти.

Решение грубой силы:

Убейте процессы java.exe перед любой сборкой или запуском. Это будет иметь побочные эффекты для любого другого активного приложения, работающего с java.

[Android Studio 1.4 - JRE 1.7.0_75-b13]

Ответ 9

На Mac перейдите к ~/.gradle и удалите папки кэшей и демона. Они восстанавливаются.

Ответ 10

В вашем файле сборки Gradle добавьте следующий jvmArgs внутри блока test {}, чтобы увеличить выделение пространства perm-gen:

test {
    jvmArgs "-XX:MaxPermSize=1024m"
}