IDE( Integrated Development Environment)/Android Studio

Android Studio Dex, android X Error

OneSeat 2022. 4. 12.
반응형

💣 문제

라이브러리에서 메서드가 65,536개를 초과하면 빌드 중에 오류가 발생합니다.
외부 SDK를 연결하면서 라이브러리의 수가 늘어났고 결국 발생된 문제로 보입니다.


❗ Error

trouble writing output:
Too many field references: 131000; max is 65536.
You may try using --multi-dex option.

혹은

Conversion to Dalvik format failed:
Unable to execute dex: method ID not in [0, 0xffff]: 65536

 

 

💡 해결

Android 5.0 미만에서 multidex 지원

  1. 지원 라이브러리 종속성 추가
dependencies {
    def multidex_version = "2.0.1"
    implementation 'androidx.multidex:multidex:$multidex_version'
}
  • AndroidX를 사용하지 않을 경우 아래의 지원 라이브러리 종속성을 대신 추가
dependencies {
    implementation 'com.android.support:multidex:1.0.3'
}
  1. build.gradle에 추가
android {
    defaultConfig {
        ...
        multiDexEnabled true
    }
...
}

dependencies {
    implementation 'com.android.support:multidex:1.0.3'
}

Android 5.0 이상에서 multidex 지원

Android 5.0(API 레벨 21) 이상 즉, minSdkVersion이 21 이상이면 multidex가 기본적으로 사용 설정되어 따로 설정할 필요가 없습니다.


📑 관련 페이지

Android Studio Developers User Guide

 

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

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

developer.android.com

 

 
반응형

댓글