Android에서 메소드 갯수가 64K 이상 일때 발생하는 문제 해결
● 에러 메세지
- Android에서 라이브러리를 많이 사용하다 보면 메소드 갯수가 64K를 넘는 경우 발생하는 에러 메세지
Error:The number of method references in a .dex file cannot exceed 64K.
또는
Error:Execution failed for task ':app:transformClassesWithDexForRelease'.
● 첫 번째 해결 방법
- 필요 없는 라이브러리를 제거 하자 (참고로 우리는 중복되게 사용하는 경우도 있음)
● 두 번째 해결 방법
- 참고 : https://developer.android.com/studio/build/multidex.html
1. build.gradle 파일 수정
- 기본적으로 sdk 컴파일 관련 버전은 21 이상으로 변경 (기존에 되어 있다면 패스)
- defaultConfig 아래에 multiDexEnabled true 추가
- dependencies 아래에 compile 'com.android.support:multidex:1.0.0' 추가
- dexOptions 아래에 jumboMode true 와 javaMaxHeapSize "4g" 추가 (이 부분을 넣지 않으면 메모리가 부족하다고 에러 메세지 발생)
} |
2. AndroidManifest.xml 파일 수정
- application 태그 속성으로 android:name="android.support.multidex.MultiDexApplication" 추가
|