YD_S 개발로그
article thumbnail
Published 2023. 4. 26. 16:30
Android - Multidex 오류 해결법 Android

Android - Multidex 오류 해결법

Android build 시 Mutidex 관련 문제로 build 실패할 경우가 있다. 

Mutidex가 뭐지 알고보고 해결 방법에 대해 알아보자.


Mutidex 란?

▷ 64K 참조 제한 관련 정보

 - Android 앱(APK) 파일에는 Dalvik Executable(DEX) 파일 형식의 실행 가능한 바이트 코드 파일이 포함되며, DEX 파일에는 앱을 실행하기 위해 사용되는 컴파일된 코드가 포함됩니다. Dalvik Executable 사양은 단일 DEX 파일 내에서 참조될 수 있는 메서드의 총 개수를 65,536개로 제한하며 여기에는 Android 프레임워크 메서드, 라이브러리 메서드, 자체 코드에 있는 메서드가 포함됩니다.컴퓨터 공학에서 킬로 또는 K라는 용어는 1,024(또는 2^10)를 나타냅니다. 65,536은 64 X 1,024와 동일하므로 이 제한을 '64K 참조 제한'이라고 부릅니다.

 

64K 참조 제한 극복 

 - 멀티덱스라는 앱 구성을 사용 설정하여 이 제한을 극복하는 방법을 설명합니다. 멀티덱스를 사용하면 앱에서 다중 DEX 파일을 빌드하고 읽을 수 있습니다.

 

Mutidex 적용하기

▷ Android 5.0 미만인 경우

  1. defalultConfig에 mutiDexEnabledtrue로 지정
  2. dependencies에 'androidx.multidex:multidex:{LatestVersion}' 추가
android {
    defaultConfig {
        ...
        minSdkVersion 15
        targetSdkVersion 33
        multiDexEnabled true
    }
    ...
}

dependencies {
    implementation "androidx.multidex:multidex:2.0.1"
}

 

 

▷ Android 5.0 이상인 경우

 - minSdkVersion21 이상으로 설정되면 멀티덱스가 기본적으로 사용 설정되며 멀티덱스 라이브러리가 필요하지 않다.


Reference

https://developer.android.com/studio/build/multidex?hl=ko#groovy 

 

메서드가 64K개를 초과하는 앱에 관해 멀티덱스 사용 설정  |  Android 개발자  |  Android Developers

앱이 여러 DEX 파일을 빌드하고 읽을 수 있도록 하는 멀티덱스 앱 구성의 사용 방법에 관해 알아보세요.

developer.android.com

 

profile

YD_S 개발로그

@YD_S

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!