Scikit Web

React Native minSDK 31 에러 해결 본문

기타

React Native minSDK 31 에러 해결

Keun0 2023. 1. 25. 22:37
728x90
반응형

 

에러 내용

1. react native Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.

2. React native targetSdkVersion 31

3. react-native-the-mincompilesdk-31-specified-in-a-dependencys-aar-metadata-is

 

오래 간만에 예전에 작업했던 프로젝트를 VS code에서 열고

npx react-native run-android 명령어로 실행하자 위와 같은 에러들이 발생하였다.

 

근본적인 문제는 안드로이드 SDK 버전이 12가 되면서, AAR 메타 데이터 정보가 필요로 하는 최소 SDK 버전이 올라가서 라는데..

 

해결방법으로 처음 시도한 것은

build.gradle 파일안에 선언되어 있는 아래 SDK 버전을 31로 올리는 것이었다. 

compileSdkVersion = 29
targetSdkVersion = 29

처음 시도한 방법의 문제는.. SDK버전이 올라가면서 예전에 사용했던 패키지들이 최신버전의 SDK 버전을 지원안하면서 발생하는 온갖 빌드 에러들이었다. 첫번째 방법으로 여러가지 시도하다가 포기하고 

 

2번째로 시도한 방법은 리액트 버전와 리액트 네이티브 버전을 낮추는 것이었다. 

여기서 문제는 Node.js는 특정 버전의 패키지를 사용하기 위해서는 ~ ^ 등이 존재하는데

https://funveloper.tistory.com/168

 

package.json 의 버전 표기법 (npm)

package.json 에 명시된 버전 표기법에 대해 알아보려고 합니다. 버전 구성 버전은 크게 3가지로 분류 됩니다. Major.Minor.Patch Major : 이전 버전과 호환성이 보장되지 않는 업데이트이며 주로 대규모 업

funveloper.tistory.com

 

예전에 개발한 react-native 프로젝트 package.json 정보를 확인해 보니 아래와 같이 선언되어 있었다.

패키지들 설치된 걸 확인해보면.. 눈에 보이는 버전은 16으로 보이지만.. 최신버전으로 설치되고 있었던것 같았다

 "react": "16.14.0",
 "react-native": "0.63.4",

위와 같이 선언되어 있던 정보를 아래와 같이 변경하고 

 "react": "^16.14.0",
 "react-native": "^0.63.4",

기존에 설치되어 있던 node_modules 폴더 삭제하고

yarn install 

npx react-native link

npx react-native run-android

 

하니까 문제없이 빌드가 진행 됐다

728x90
반응형
Comments