React Native 0.71 업그레이드 후 Android 빌드 실패 해결
문제 상황
회사 앱을 React Native 0.71로 업그레이드하는 과정에서 Android 빌드가 실패했다. iOS는 정상적으로 빌드되는데 Android만 계속 에러가 발생했다.
Task :app:checkDebugAarMetadata FAILED
Could not resolve all files for configuration ':app:debugRuntimeClasspath'.
원인 분석
0.71부터 Gradle 버전이 7.5.1로 올라가면서 기존에 사용하던 서드파티 라이브러리들과 충돌이 발생했다. 특히 react-native-fast-image와 react-native-video 라이브러리가 문제였다.
android/gradle/wrapper/gradle-wrapper.properties를 확인해보니 이전 Gradle 버전이 남아있었다.
해결 방법
1. Gradle 버전 업데이트
# android/gradle/wrapper/gradle-wrapper.properties
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-all.zip
2. build.gradle 설정 수정
// android/build.gradle
buildscript {
ext {
buildToolsVersion = "33.0.0"
minSdkVersion = 21
compileSdkVersion = 33
targetSdkVersion = 33
}
}
3. 라이브러리 버전 업데이트
문제가 되던 라이브러리들을 최신 버전으로 업데이트했다.
yarn upgrade react-native-fast-image@latest
yarn upgrade react-native-video@latest
4. Clean 후 재빌드
cd android && ./gradlew clean
cd .. && npx react-native run-android
결과
빌드가 정상적으로 완료되었다. 0.71에서 새롭게 도입된 New Architecture는 아직 opt-in 상태라 기존 코드는 그대로 동작했다.
다만 일부 라이브러리들이 아직 New Architecture를 지원하지 않아서, 당분간은 기존 아키텍처로 유지하기로 했다. 향후 주요 라이브러리들의 지원이 안정화되면 마이그레이션을 검토할 예정이다.