firebase를 사용하던 중 다음과 같은 오류를 마주쳤다.
https://developer.android.com/studio/build/multidex
D8: Cannot fit requested classes in a single dex file (# methods: 97532 > 65536)
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.html
해결 방법 1.
android > build.gradle의 defeaultConfig 부분의 minSdkVersion를 21로 수정한다 (안드로이드 5) 이 버전 이상 부터는 multi dex를 지원하기 때문에 이 문제는 해결된다.
defaultConfig {
applicationId "darrengwon.tistory.com"
// minSdkVersion을 21로 올려줘야 한다.
minSdkVersion 16
targetSdkVersion 28
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
}
해결 방법 2.
androidX를 사용 중이라면 android > build.gradle에 다음과 같이 적용한다.
defaultConfig에 multiDexEnabled를 true로
defaultConfig {
applicationId "darrengwon.tistory.com"
minSdkVersion 16
targetSdkVersion 28
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
// multiDexEnabled를 true로 설정
multiDexEnabled true
}
하단 dependencies에 multidex를 implementation 하면 된다.
현재 무슨 버전이 최신인 지는 상단에 첨부한 안드로이드 문서를 참고하자.
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'com.android.support:multidex:2.0.1'
}
만약 AndroidX를 사용하지 않고 있다면 다음 버전의 멀티 덱스를 넣으면 된다.
dependencies {
implementation 'com.android.support:multidex:1.0.3'
}
'📱 Mobile > 📱 (old) Flutter v 1.0' 카테고리의 다른 글
비동기처리를 위한 Timer 클래스 (0) | 2020.08.13 |
---|---|
Yellow lines under Text Widgets in Flutter? (0) | 2020.07.10 |
Sliver (0) | 2020.07.07 |
network image 캐싱하기 (0) | 2020.07.06 |
BLoC (Bisuness Logic Component) 디자인 패턴 (0) | 2020.07.05 |