티스토리 뷰
728x90
개발을 하다보면 규모도 커지고 라이브러리 사용량도 많아지게 되는데 어느순간 하단과 같은 빌드 오류를 만날 수 있다.
이번 포스팅에서는 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 |
댓글
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- task 생성
- 앱테크 추천
- registerForContextMenu
- 안드로이드 인텐트
- android activity flag
- Android Service
- 리워드 어플
- 안드로이드 서비스
- 리워드앱
- onCreateContextMenu
- mPANDO
- StringUtils
- BroadcastReceiver
- task
- M2E
- android flag activity
- Intent
- StartService
- 무료채굴
- p2e
- 채굴앱
- notifyDataSetChanged
- RoomDatabase
- android task
- android intent
- WEMIX
- 무료 채굴
- bindservice
- 앱테크
- onContextItemSelected
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함