본문 바로가기
JavaScript/React Native

[React Native, FireBase ect] Firebase 오류 (app:multiDexListDebug)

by @김상현 2020. 11. 24.
반응형

Firebase를 사용하기 위해서 npm install 을 하고 run-android 를 하였더니 build 과정에서 여러가지 문제가 발생하였다.

 

그래서 프로젝스/android 로 이동하여 (cd android)

gradlew clean을 진행 한 후 npx react-native run-android를 하였더니 해결이 되었다. 

이후 몇 가지 라이브러리(ex. @react-native-firebase/firestore)를 더 설치하고 나서 

위와 같은 오류가 발생하여 같은 방법으로 해결하려 했으나 다른 오류인걸 확인하였다.

 

Task :app:mergeDexDebug FAILED 이였다. 쭈욱 읽어보니 공식문서에서 원인과 해결방법을 제공하고 있다.

developer.android.com/studio/build/multidex#avoid

 

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

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

developer.android.com

/android/build.gradle

코드 내의 minSdkVersion 이 20 이하일 때

---

앱 및 앱이 참조하는 라이브러리에서 메서드가 65,536개를 초과하면 앱이 Android 빌드 아키텍처의 제한에 도달했음을 알리는 빌드 오류가 발생합니다.

--- 

라고 합니다. Sdk 20은 킷캣으로 아래 버전들의 점유율까지 합쳐도 10%가 안되므로 그냥

minSdkVersion = 21

와 같이 수정하여 오류를 해결하였다.

 

---추가

github.com/react-native-webview/react-native-webview/issues/1344

 

Task :app:mergeDexDebug FAILED · Issue #1344 · react-native-webview/react-native-webview

Problems using react-native-camera The plugin works correctly as long as no other plugin is installed I thought it was react-navigation or Redux, I had to install one by one until the plugin react-...

github.com

app 수준의 build.gradle 에서

defaultConfig {
        multiDexEnabled true
    }

을 추가해주면 minSdkVersion을 올리지 않아도 해결이된다고 한다.

필자는 시도한 결과 성공하였다.

 

**Tip**

multiDexEnabled true만 했을 때 안되는 경우가 발생하였다.

minSdkVersion을 21로 수정하니 잘 빌드되었다.

반응형

댓글