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-imagereact-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를 지원하지 않아서, 당분간은 기존 아키텍처로 유지하기로 했다. 향후 주요 라이브러리들의 지원이 안정화되면 마이그레이션을 검토할 예정이다.