React Native 0.58 업그레이드 후 Android 빌드 오류 해결
문제 상황
회사 앱을 React Native 0.57에서 0.58로 업그레이드하는 작업을 진행했다. iOS는 문제없이 빌드되었지만 Android에서 계속 실패했다.
Could not find com.android.support:appcompat-v7:28.0.0
원인
0.58부터 AndroidX를 지원하기 시작했는데, 프로젝트의 서드파티 라이브러리들이 여전히 구 버전 support 라이브러리를 참조하고 있었다. gradle 의존성 충돌이 발생한 것이다.
해결 과정
android/gradle.properties에 jetifier 설정을 추가했다.
android.useAndroidX=true
android.enableJetifier=true
jetifier가 자동으로 구 라이브러리를 AndroidX로 변환해준다. 그리고 android/build.gradle의 버전들을 맞춰줬다.
buildToolsVersion = "28.0.3"
minSdkVersion = 19
compileSdkVersion = 28
targetSdkVersion = 28
일부 네이티브 모듈은 수동으로 업데이트가 필요했다. react-native-vector-icons, react-native-gesture-handler 등을 최신 버전으로 올렸다.
결과
빌드가 정상적으로 되었고, 새로운 Fast Refresh 기능도 적용되어 개발 경험이 개선되었다. 다만 AndroidX 마이그레이션은 생각보다 손이 많이 갔다. 라이브러리 관리가 중요하다는 걸 다시 느꼈다.