안드로이드 빌드 오류 - MainApplication.java:60: error: cannot find symbol ReactNativeFlipper.initializeFlipper(this, getReactNativeHost().getReactInstanceManager());

리액트 네이티브로 구성한 프로젝트 빌드를 하던 중 오류가 발생하였다.

> Task :app:compileReleaseJavaWithJavac FAILED
~~~경로/MainApplication.java:60: error: cannot find symbol
    ReactNativeFlipper.initializeFlipper(this, getReactNativeHost().getReactInstanceManager());
    ^
  symbol:   variable ReactNativeFlipper
  location: class MainApplication

원인이라는 getReactNativeHost().getReactInstanceManager()); 부분을 찾아 검색하였고 0.61.5 에서 0.63.3. 으로 리액트 네이티브가 업데이트 되면서 빠졌다고 MainApplication.java 파일에 아래 코드를 추가해보라고 한다. https://stackoverflow.com/questions/65837062/react-native-android-cannot-find-symbol-class-reactinstancemanager

import com.facebook.react.ReactInstanceManager;

결과는 실패다.

비슷한 원인들을 찾다보니 이런 링크가 있었다.

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

위 내용들을 참고 삼아 수정한 방법은 기존에 프로젝트 폴더안에 android/app/src/release/java/com/프로젝트 이름/ReactNativeFlipper.java 를 복사가 아닌 다른 폴더로 옮기는 것이다.

프로젝트 폴더안의 /android/app/src/main/java/com/프로젝트 이름/ReactNativeFlipper.java 로 옮겼다.

이렇게 해결하니 이슈는 해결되었다.

절대 복사가 아닌 옮겨야 한다. 복사로 붙여넣으면 두개의 중첩된 클래스가 있다고 오류가 난다.


추가 : 위 상태로 디버깅 모드 빌드 했더니 이번에도 두개의 중첩된 클래스가 있다고 빌드 실패가 떴다. 확인해보니 프로젝트 폴더안의 /android/app/src/debug/java/com/프로젝트 이름/ReactNativeFlipper.java 이 있어 이 파일도 제거 후 정상 빌드되었다.

Subscribe
Notify of
guest

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.

0 댓글
Inline Feedbacks
View all comments
TOP