본문 바로가기

Coding/TIL (Today I Learned)

갑자기 발생한 react-native run-android 에러

상황 01.

오늘 새벽까지 잘 작동했던 react-native run-android 가 오후에 실행했더니 에러가 발생했다.

아니 코드 한 줄 바꾼게 없는데 왜??

 

내용을 보면 빌드는 성공한 것 같은데 에뮬레이터에서 앱을 실행시키지를 못했다.

내 작업환경은 macOS에서 안드로이드 앱을 디바이스 없이 에뮬레이터로만 확인하는 중.

android build Error type 3

Error: Activity class { } does not exist. 같은 문구로 구글링해서 몇 가지 블로그 글을 찾았지만 따라해도 해결되지 않았다.

대부분 제시한 해결방법은 안드로이드 스튜디오에서 상단 메뉴에

build > Clean Project 를 한 후 안드로이드 스튜디오 재 실행 > rebuild project 클릭 > 앱 실행 이었다.

나에게는 통하지 않았음. 

 

참고 블로그 : https://yeolco.tistory.com/88

위의 참고 블로그 내용에 따르면,

이 오류는 프로젝트를 처음 실행하면 앱이 하나 생성되는데, USB를 컴퓨터에 연결한 상태에서 앱을 삭제하면 ADB는 앱이 휴대폰에 있는걸로 인식하기 때문에 발생하는 오류라고 했다. 해결방법은 설정>저장소(Storage)에서 앱을 삭제해주면 된다고.

 

나는 폰이 없는 상태이므로 위와 동일한 케이스는 아닌것 같지만 에뮬레이터 상의 설정으로 들어가 앱을 삭제해봤다.

그리고 다시  react-native run-android 를 하니 실행됐다. 

경로 : Settings > App & notification > 테스트중이던 앱 > UNINSTALL


상황 02.

작업 중 또 다시 react-native run-android 가 작동하지 않았다.

에러 메시지가 달랐는데 이번엔 또 왜?

안드로이드 개발 환경 설정은 react-native 도큐먼트 가이드대로 맞춰 놓았었고, 바로 직전까지도 문제가 없었기 때문에 SDK나 그런 문제는 아닐 것 같았다.

 

참고 블로그: https://pilot376.tistory.com/54

참고한 블로그에 따르면  Error: spawn ./gradlew EACCES 이 문제는 Android gradlew의 권한 설정과 관련있는 것 같았는데,

아직 gradlew 에 관해서는 아는게 별로 없다. 정확한 내용이 잘 이해되지 않아 찜찜하지만,

어쨌든  Android / gradlew의 권한을 755로 변경하는 아래 명령어 입력 후 다시 run-android 했더니 다시 잘 작동했다.

% chmod 755 android/gradlew
% npm run android // 성공!

 

해결.