크로스 플랫폼/React-Native <JSX>

[React-Native] 구 버전(0.63.4) android 프로젝트 빌드하기

TaeGyeong Lee 2023. 6. 23. 20:54

React-Native는 정말 많이, 빠르게 변화하고 있습니다. 크로스 모바일 플랫폼이다 보니 android, iOS 생태계의 변경에 민감하고 추가 적인 라이브러리에 매우 의존적입니다. 조금이라도 React-Native 버전이 최신 버전과 차이가 날 경우 늘 새로운 에러를 마주합니다.

이번 글엔 구 버전, 이 글에선 0.63.4 버전을 기준으로 빌드에 성공하는 방법에 대해 설명합니다. android 빌드에 한해 서술합니다. 

 

flipper 버전 수정

프로젝트/android 디렉토리를 안드로이드 스튜디오로 열어 gradle.properties 내 flipper 버전을 수정합니다. 0.99.0 으로 버전을 수정해 주세요. 의존성 라이브러리의 호환성 문제(fresco 등)를 해결하기 위해 버전을 수정해야 합니다.

# Version of flipper SDK to use with React Native
FLIPPER_VERSION=0.99.0

 

copyDownloadableDepsToLibs Task 수정

build.gradle (app) 파일을 수정해야 합니다.

copDownloadableDepsToLibs task 내 compile을 implementation으로 수정해 주세요.

task copyDownloadableDepsToLibs(type: Copy) {
    from configurations.implementation
    into 'libs'
}

 

jcenter 비활성화 및 mavenCentral 활성화

build.gradle (project) 파일을 수정해야 합니다. 

buildscript > repositories 내 jcenter() 주석 처리mavenCentral() 을 추가해 주세요. jcenter()는 21년부터 더 이상 사용되지 않는 레포지토리로 이 글을 쓰는 23년 6월 운영 유지되는 mavenCentral 로 레포지토리를 변경해야 합니다.

buildscript {
    ...
    repositories {
        google()
        mavenCentral()
        // jcenter()
    }
    ...
}

...

allprojects {
    repositories {
        mavenCentral()
        maven {
            // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
            url("$rootDir/../node_modules/react-native/android")
        }
        maven {
            // Android JSC is installed from npm
            url("$rootDir/../node_modules/jsc-android/dist")
        }

        google()
        // jcenter()
        maven { url 'https://www.jitpack.io' }
    }
}

 

이제 준비가 끝났습니다. 안드로이드 앱 빌드를 시도해 보세요. 잘 빌드 되는 것을 확인해 볼 수 있습니다.