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로 수정하니 잘 빌드되었다.
'JavaScript > React Native' 카테고리의 다른 글
[React Native] Splash Image (0) | 2020.12.01 |
---|---|
[React Native & Android] Build apk,abb (0) | 2020.11.30 |
[React Native] Change Package(Android) & Bundle Id(iOS) (0) | 2020.11.24 |
[React Native] 시작하기 (Windows 10) (0) | 2020.11.19 |
[React Native] Child Navigator 에서 Parent Navigator 의 Header Title 바꾸는법 (feat. stackoverflow) (0) | 2020.10.04 |
댓글