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가 대부분의 변환을 처리하지만, 일부 라이브러리는 수동 업그레이드가 필요했다.