react native - 안드로이드 배포 실패 : Could not find com.facebook.react:react-native:0.71.0-rc.0

리액트 네이티브 최신 버전으로 앱을 빠르게 제작하여 배포를 진행중이였다.

분명 기기 연결 테스트까지 잘되었는데 릴리즈 번들링에서 Could not find com.facebook.react:react-native:0.71.0-rc.0 오류가 발생했다.

해외에서는 22년 11월부터 이 이슈가 올라와서 많이 이야기가 나왔는데 국내 글이 없었다.

https://github.com/facebook/react-native/issues/35210

위 링크를 보면 알 수 있듯이 2022년 11월 4일부터 안드로이드 앱 빌드할 때 오류가 나고 있음을 리액트 팀에서 안내하고 있다.

원인은 /프로젝트 폴더/android/app/build.gradle 파일에

dependencies {
... 생략
implementation "com.facebook.react:react-native:+"
... 생략

이렇게 작성되어져 있을텐데 (Expo 로 개발한 버전 아님 주의)
:+ 이 표시를 통해 가져오는 버전이 없어서 Could not find react-native-0.71.0-rc.0-release.aar 이런식으로 오류가 나고 있던 것이다.

해결 방법으로 여러가지를 제시하고 있다.

저 :+ 표시가 아니라 아랫버전으로 고정해서 가져오자는 것도 있었는데 해보았지만 실패했다.내가 성공한 케이스는 아래와 같다. (경로를 주의하여 꼭 봐야한다.)

/프로젝트 폴더/android/build.gradle

아까 문제가 되었던 파일은 /프로젝트 폴더/android/app/build.gradle 이였고,
지금 수정할 파일은 /프로젝트 폴더/android/build.gradle 이다. 헷갈리지 말자.

파일 스크롤을 내리다보면 allprojects{ 이 보일 것이다. 그 위 아래로 아래처럼 추가하면 된다.

def REACT_NATIVE_VERSION = new File(['node', '--print',"JSON.parse(require('fs').readFileSync(require.resolve('react-native/package.json'), 'utf-8')).version"].execute(null, rootDir).text.trim())

allprojects {
    configurations.all {
        resolutionStrategy {
            // Remove this override in 0.65+, as a proper fix is included in react-native itself.
            force "com.facebook.react:react-native:" + REACT_NATIVE_VERSION
        }
    }
... 생략

위 처럼 추가해주고 릴리즈 번들링 하니 정상적으로 처리되었다.

TOP