낭만 프로그래머
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" 추가
|
'Android' 카테고리의 다른 글
Android 에서 gradle 파일 내에 version 문제 (0) | 2018.11.15 |
---|---|
Android 에서 문자열을 Clipboard 복사 / 붙여넣기(copy / paste) (0) | 2018.11.12 |
Android에서 Object 또는 List 와 JSON 간에 변환 (0) | 2018.11.08 |
Android에서 Fragment에서 onActivityResult를 호출 시키는 방법 (0) | 2018.03.23 |
Android Studio 에서 GitHub 사용하기 (0) | 2017.05.11 |