RN jdk 11으로 업데이트하기

박은정·2022년 8월 16일
0

TIL

목록 보기
62/70

문제발생

jdk 11으로 업데이트 하던 와중, android/app/build.gradle 파일에서 compileOptions 에서 java버전이 1.8이었다

compileOptions {
  sourceCompatibility JavaVersion.VERSION_1_8
  targetCompatibility JavaVersion.VERSION_1_8
}

나의 경우 android studio > settings > Build, Execution, Deployment > Build Tools > Gradle 에서 Gradle JDK 을 11(2) 로 설정해서 그런지 앱을 실행하는데에 있어서 별 문제가 없었다.

참고했던 블로그

Oracle JDK 11 설치 및 Android Studio 환경 설정(AGP 7.0 이상)

하지만 jdk11을 사용하는 이상 JavaVersion.VERSION_11 으로 수정하는것이 맞다고 생각해서 수정하고 다시 빌드하는 순간 MainActivity에서 view.ViewGroup를 찾을 수 없고 class에 접근할 수 없다는 에러를 봤다.

C:\Users\..\MainActivity.java:3: error: cannot access ViewGroup
public class MainActivity extends ReactActivity {
       ^
class file for android.view.ViewGroup not found

광고성 페이지 와중에 어느 okky 게시물을 봤는데 gradle 설정문제일 가능성이 있다고 했다.

해결을 위한 발버둥

그래서 android gradle plugin을 보면 자바 11을 사용하려면 7.X버전으로 업데이트 해야한다고 나와있다.

그리고 막장 7.X버전으로 업데이트 하면 android폴더뿐만 아니라 node_modules폴더 안에 존재하는 수많은 build.gradle에 있는 compile을 implementation이나 api로 대체하라는 에러문구를 확인했다.

직접 수정하는건 말이 안된다고 생각해서 새로 자바11을 설치하고 세팅하면서 시스템환경에 있는 java1.8을 비롯한 사용하지 않을 java버전이 있는 path를 지우고 새로 설치할 jd-11.0.11 을 통해서만 path를 지정했다.

만약을 대비해서 window 백업과 시스템환경부분을 캡쳐해놓았다

참고한 블로그

맨 처음과 같은 문제는 발생하지 않았지만, react-native-reanimated과 관련해서 Configuration with name 'compile' not found. 이슈가 발생했다.
처음에는 잘못했나 싶었지만 구글링을 해보니 react-native-reanimated 1.13.4버전에서 발생하는 이슈였고 에러가 발생한 부분에서 해당페이지에 적힌 것처럼 수정해줬다.


하지만 역시나 바로 해결해주지 않겠다는 안드로이드 스튜디오...

안드로이드 스튜디오에서 빌드는 성공적으로 되었지만 react native 프로젝트에서 npm run android를 통해 앱 실행을 하려고 하면 아래와 같은 에러가 발생한다.

* Where:
Script '프로젝트디렉터리\node_modules\@react-native-community\cli-platform-android\native_modules.gradle' line: 121

* What went wrong:
Execution failed for task ':app:generatePackageList'.
> argument type mismatch

* Try:
Run with --stacktrace option to get the stack trace. 
Run with --info or --debug option to get more log output. 
Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 16s

error Failed to install the app. 
Make sure you have the Android development environment set up:
https://reactnative.dev/docs/environment-setup. 
Run CLI with --verbose flag for more details.
Error: Command failed: gradlew.bat app:installDebug -PreactNativeDevServerPort=8081

이전에 이 에러문구를 봣을때에는 gradle을 7.X에서 6.9로 변경하라는 해결방법이 있었는데... 지금 나의 경우 gradle 7버전이 필요하기 때문에 소용이 없었다.

나와 동일한 에러를 봤지만 답도 없고...

왜 6.9로 변경하라 했더니만... 현재 react-native-cli는 gradle 7버전을 지원하지 않는다 는 내용이 있었다. !!!

gradle 7.x버전을 사용하려면 새로운 리액트 네이티브 아키텍처를 위한 전제조건을 갖춰야 한다.

profile
새로운 것을 도전하고 노력한다

0개의 댓글