티스토리 뷰

Android

Multidex 적용하기

parkho79 2020. 1. 14. 11:47
300x250
300x250



개발을 하다보면 규모도 커지고 라이브러리 사용량도 많아지게 되는데 어느순간 하단과 같은 빌드 오류를 만날 수 있다.

이번 포스팅에서는 Multidex 에 대해 알아보자.

 

Cannot fit requested classes in a single dex file (# methods: 67827 > 65536)
cs



Multidex ?

Android 는 JVM(Java Virtual Machine) 기반의 DVM(Dalvik Virtual Machine) 에서 application 이 동작한다.

◼ Android 5.0 이상부터는 DVM -> ART 로 변경 (Dex 처리 방식 변경)

 

DVM or ART 위에서 동작하기 위해 Android code 는 하단 이미지와 같이 dex 라는 파일로 컴파일 된다.

Dex 파일의 함수는 64K(65536) 를 초과할 수 없어서 나오게 된 개념이 Multidex 이다.

 

 

Multidex 는 함수가 64K(65536) 를 초과하지 않도록 dex 파일을 여러개로 쪼개주고 쪼개진 dex 를 읽을 수 있도록 해준다.



How to

minSdkVersion 이 21 이상인 경우(ART) multidex 가 기본적으로 사용 설정된다.

(별다른 설정이 필요 없다.)

 

minSdkVersion 이 20 이하인 경우 하단과 같이 multidex 를 명시적으로 선언해 줘야 한다.

 

◼ build.gradle

 

◼ AndroidManifest.xml

 

◼ PhApplication.java



Source code

https://github.com/parkho79/Multidex



728x90

'Android' 카테고리의 다른 글

Shape Drawable 동적으로 색 변경하기  (2) 2020.01.20
Shape Drawable  (0) 2020.01.17
dp, dip, sp, px  (0) 2020.01.09
Google Drive REST API v3 for Android (2)  (0) 2019.12.05
Android studio 로 SHA1 key 쉽게 알아내기  (0) 2019.12.02
댓글