본문 바로가기

프로그래밍/Android Studio 설정

[gradle] google play service 등 메소드 수가 많은 라이브러리 참조시 오류

android studio build를 하면 아래 문구와 함께 run이 되지 않는다.


AGPBI: {"kind":"SIMPLE","text":"java.lang.OutOfMemoryError: GC overhead limit exceeded","position":{},"original":"java.lang.OutOfMemoryError: GC overhead limit exceeded"}

.

.

.


Error:Execution failed for task ':dexDebug'.

> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.7.0_13\bin\java.exe'' finished with non-zero exit value 3



eclipse에서도 이와 같은 증상이 있었다. 문구는 달랐지만, 그때 java의 heap size를 늘려주면 해결이 됐었다. 이것도 똑같은 문제.

gradle android 바디 안에 추가해주면 된다.

핵심은 javaMaxHeapSize. 빌드 시 힙을 늘려준다.


    dexOptions {

        // dex의 크기를 늘리기 위한 설정(2^16개 초과)

        jumboMode true

        // 앱 구동 시 자바 할당 힙을 지정

        javaMaxHeapSize "4g"

    }


Google Play Service를 사용할 때는 전부 참조하지말고 특정 모듈을 참조하는게 바람직하다.

compile 'com.google.android.gms:play-services-base:6.5.87'

아래 참조

http://pxproxy.com/index.php?q=uggc%3A%2F%2Fqrirybcre.naqebvq.pbz%2Ftbbtyr%2Fcynl-freivprf%2Ffrghc.ugzy