Android Studio Gradle 문제 : OutOfMemoryError : PermGen 공간
Gradle과 Android Studio v0.1.3을 사용하기 위해 Eclipse에서 가져온 이전 프로젝트를 가져 오기 위해 몇 시간 동안 싸운 후 ... 지금 얻은 것은 실제로 명령 줄에서 빌드를 수행 할 수 있다는 것입니다. / 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
그것은 거대한 프로젝트가 아니고, 몇 개의 작은 하위 프로젝트 (페이스 북 포함)가 있기 때문에 그것이 실제로 메모리라고 생각하지 않습니다. 이게 뭔지 모르겠지만 ...
명령 줄에서 gradle을 실행하는 사용자를 위해 gradle.properties 파일을 만들고 프로젝트의 루트에 넣고 다음을 추가합니다.
org.gradle.jvmargs=-XX:MaxPermSize=512m
PermGen 공간의 크기는 File> Settings> Compiler에서 Android Studio 내에서 늘릴 수 있습니다. "추가 컴파일러 프로세스 VM 옵션"이라는 설정을 찾으십시오. 다음 매개 변수를 추가하기 만하면됩니다.
-XX:MaxPermSize=512M
기본값은 92M입니다. 값을 기가 바이트로 지정하려면 G를 사용하십시오.
Mac OS X를 사용하는 경우 파일 내에서 MaxPermSize를 늘릴 수 있습니다.
/Applications/Android Studio.app/bin/idea.vmoptions
최대 PermGen 크기와 같은 JVM 인수를 설정하는 권장 방법은 여기에 제공된 조언을 따르는 것입니다. http://tools.android.com/tech-docs/configuration
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 / Preferences / AndroidStudio / studio.vmoptions
- Linux ~ / .AndroidStudio / studio.vmoptions (또는 ~ / .AndroidStudio / studio64.vmoptions)
- Windows : % USERPROFILE % .AndroidStudio \ studio.exe.vmoptions (또는 % USERPROFILE % .AndroidStudio \ studio64.exe.vmoptions)
AndroidStudio 앱 디렉토리의 파일은 IDE에 대한 새로운 설치 / 업데이트로 덮어 쓰여 지므로 더 이상 편집하지 않아야합니다.
또한 이것은 나를 위해 일했습니다. Linux를 사용하는 경우 환경 변수 GRADLE_OPTS를 "-XX : MaxPermSize = 512m"(또는 원하는 크기)로 설정하십시오.
gradle.properties에 이것을 추가하십시오 .
org.gradle.jvmargs=-XX:MaxPermSize=512m -XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled -XX:+HeapDumpOnOutOfMemoryError -Xmx1024m -Dfile.encoding=utf-8
gradle.properties파일을 가지고 다음을 추가 할 수 있습니다 .
~/.gradle/gradle.properties다음을 포함하도록을 만들거나 편집합니다.
org.gradle.daemon=false
GRADLE_OPTS="-Xmx2048m -Xms2048m -XX:MaxPermSize=1024m"
org.gradle.jvmargs=-XX:MaxPermSize=1024m
모든 빌드 또는 정리에서 여러 Java 프로세스가 시작되어 메모리 부족 오류가 발생합니다.
무차별 대입 솔루션 :
빌드 또는 실행 전에 java.exe 프로세스를 종료하십시오. 이것은 java와 함께 작동하는 다른 활성 응용 프로그램에 부작용이 있습니다.
[Android 스튜디오 1.4-JRE 1.7.0_75-b13]
Mac에서는 ~ / .gradle로 이동하여 캐시와 데몬 폴더를 모두 삭제합니다. 이들은 재생성됩니다.
Gradle 빌드 파일에서 테스트 {} 블록 내에 다음 jvmArgs를 추가하여 perm-gen 공간 할당을 늘립니다.
test {
jvmArgs "-XX:MaxPermSize=1024m"
}
'Program Club' 카테고리의 다른 글
| std :: map에 const 접근자가없는 이유는 무엇입니까? (0) | 2020.11.09 |
|---|---|
| 다차원 배열에서 데이터 파열 (0) | 2020.11.09 |
| 여러 인수로 함수를 바인딩하는 AngularJS 지시문 (0) | 2020.11.09 |
| 자바 스크립트 형식 날짜 / 시간 (0) | 2020.11.09 |
| 막대 차트의 각 막대에 대해 다른 색상; (0) | 2020.11.09 |