Notice
Recent Posts
Recent Comments
Link
산나물의 코드정원
안드로이드 빌드 시 64k 참조 제한 오류 본문
* What went wrong:
Execution failed for task ':app:mergeExtDexDebug'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.DexMergingTaskDelegate
> There was a failure while executing work items
> A failure occurred while executing com.android.build.gradle.internal.tasks.DexMergingWorkAction
> com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives:
The number of method references in a .dex file cannot exceed 64K.
Learn how to resolve this issue at https://developer.android.com/tools/building/multidex.htm
안드로이드 빌드 중에 만난 오류...
.dex 파일에 포함된 메서드 참조가 64k를 초과했다는 에러 메시지 같다. 라이브러리를 너무 많이 추가해서 생긴 모양이다.
안드로이드 공식문서에도 이러한 오류가 뜨면 해결하는 방법을 친절하게 알려준다.
-> multidex 세팅을 해주어야 한다.
minSdkVersion 21 이상인 경우에서는 multidex가 기본적으로 설정이 되므로 추가적인 작업이 필요가 없다.( 이러한 오류가 생기지 않을 것임...)
하지만 minSdkVersion이 21 미만인 경우에는 다음과 같이 세팅을 해주자!
- 'android/app/build.gradle' 파일을 연다.
- 'defaultConfig' 섹션에 오른쪽의 코드를 추가해 주자. -> multiDexEnabled true
- 'dependencies' 섹션에 오른쪽의 코드를 추가해 주자. -> implementation 'androidx.multidex:multidex:2.0.1'
- 'android/app/src/main/AndroidManifest.xml' 파일을 열어서 <application> 태그에 다음과 같은 속성을 추가해주자 -> android:name="androidx.multidex.MultiDexApplication"
이 과정을 모두 끝냈으면 빌드하는데 문제없이 잘 될 것이다.
플러터를 배우는 과정에서 수많은 오류에 부딪히지만 언제나 그랬듯 차분하게 하나하나씩 해결해 나갈 수 있도록 하자.
디버깅은 재밌는 과정이다.