[Flutter] 앱 실행시 Plugin과 single dex file 오류 조치

Taeho Min·2020년 11월 8일
0

Flutter

목록 보기
1/6

VSCode로 Flutter 앱 실행하면서 "firebase_core_web not found. Please update settings.gradle"와 같이 디펜던시 못 찾는다고 settings.gradle를 업데이트하라는 오류가 발생합니다. 컴파일 조차 제대로 하지 않은 상태에서 Plugin 어쩌고 저쩌고 하는거 봐서 뭔가 환경적인 문제가 있는거 같아서 폭풍검색 후 처리한 방법 입니다.
App>>android>>settings.gradle과 andriod>>app>>build.gradle 파일에 코드를 추가해서 오류를 잡았습니다. 왜 오류가 발생했을까요?

Launching lib\main.dart on SM G935S in debug mode...
 lib\main.dart
Plugin project :firebase_core_web not found. Please update settings.gradle.
Plugin project :cloud_firestore_web not found. Please update settings.gradle.
D8: Cannot fit requested classes in a single dex file (# methods: 76447 > 65536)
com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives:
The number of method references in a .dex file cannot exceed 64K.
...

App>>android>>settings.gradle 파일을 열어서 다음 코드를 추가해 준다음 다시 실행한다.

def flutterProjectRoot = rootProject.projectDir.parentFile.toPath()
def plugins = new Properties()
def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins')
if (pluginsFile.exists()) {
    pluginsFile.withReader('UTF-8') { reader -> plugins.load(reader) }
}
plugins.each { name, path ->
    def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile()
    include ":$name"
    project(":$name").projectDir = pluginDirectory
}

Plugin Project : 어쩌고 저쩌고는 사라졌는데, D8: Cannot fit requested classes in a single dex file 오류는 아직 그대로인데.
이건 minSdkVersion 이 21 이상인 경우 andriod>>app>>build.gradle 파일에서 multiDexEnable 를 true로 설정하라네요

android {
defaultConfig {
...
minSdkVersion 21
targetSdkVersion 26
multiDexEnabled true
}
...
}

참고사이트
https://github.com/FirebaseExtended/flutterfire/issues/2599#issuecomment-632651771
https://duzi077.tistory.com/198

profile
개발자

0개의 댓글