React Native 0.58 업그레이드 후 Android 빌드 실패 해결
문제 상황
프로젝트를 React Native 0.57에서 0.58로 업그레이드한 후 Android 빌드가 실패했다.
Could not resolve all files for configuration ':app:debugCompileClasspath'.
> Could not find support-v4.aar (com.android.support:support-v4:28.0.0)
원인
0.58 버전부터 React Native가 AndroidX로 마이그레이션되었는데, 기존 서드파티 라이브러리들은 여전히 Support Library를 사용하고 있었다. Gradle이 두 라이브러리를 동시에 해결하려다 충돌이 발생한 것이다.
해결 과정
1. jetifier 설치
npm install --save-dev jetifier
2. postinstall 스크립트 추가
package.json에 추가:
{
"scripts": {
"postinstall": "jetify"
}
}
3. gradle.properties 설정
android/gradle.properties에 추가:
android.useAndroidX=true
android.enableJetifier=true
4. node_modules 재설치
rm -rf node_modules
npm install
이후 빌드가 정상적으로 진행되었다.
추가 이슈
일부 네이티브 모듈이 여전히 문제를 일으켰다. react-native-vector-icons의 경우 버전을 6.2.0으로 올려야 했다.
결론
AndroidX 마이그레이션은 불가피한 선택이지만, 서드파티 라이브러리 호환성을 반드시 확인해야 한다. jetifier가 대부분의 변환을 처리하지만, 일부 라이브러리는 수동 업그레이드가 필요했다.