Logo
Published on
·3 min read

React Native 안드로이드 실행 오류 - Execution failed for task ':app:installDebug'

들어가며

React Native로 앱 개발 중, 안드로이드 에뮬레이터를 실행하면 (npm run android) 다음과 같은 오류가 발생했습니다.

Execution failed for task ':app:installDebug'.

오류는 발생했지만, 에뮬레이터는 정상적으로 실행되었습니다.
하지만 터치해도 반응이 없고 앱을 사용할 수도 제거 할 수도 없었습니다.

전날까지도 이상없이 사용하던 앱이었습니다.

오류 내용

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:installDebug'.
> com.android.builder.testing.api.DeviceException: No online devices found.

# ... 생략 ...

BUILD FAILED in 19s

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

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:installDebug'.
> com.android.builder.testing.api.DeviceException: No online devices found.

해결 방법

  1. 열려있는 에뮬레이터는 종료합니다.

  2. 안드로이드 스튜디오를 실행합니다.

  3. 안드로이드 스튜디오 > File > Invalidate Caches...를 클릭합니다.

    • 모든 체크박스를 다 선택한 후 Invalidate and Restart를 클릭합니다.
      (안드로이드 스튜디오가 종료후 재시작 됩니다.)
  4. 안드로이드 스튜디오 > Device Manager를 클릭합니다. (우측 상단 모바일 아이콘)

  5. 안드로이드 스튜디오 > Device Manager 창 > 실행할 에뮬레이터Wipe Data를 선택합니다.

  6. 이제 다시 React Native로 돌아와서 npm run android를 실행하면 정상적으로 실행됩니다.

참고 URL: What react-native :app:installDebug FAILED ?

그래도 오류

위 방법을 진행 후에 다시 npm run android를 실행했을 때 완전 초기화된 에뮬레이터가 실행되는 것을 확인할 수 있었습니다. 초기화로 개발 중이던 앱도 제거됐습니다.

에뮬레이터는 실행되었지만 오류는! 동일하게 발생했습니다.

그래도 초기화 되었으니 다시 한 번 실행해보자는 생각에 다시 npm run android를 실행하니까 앱이 설치되면서 정상적으로 실행되었습니다.

결론적으로 2번의 npm run android가 필요했습니다.

결론

위 해결 방법으로 해결이 안될 수도 있습니다.

정상적으로 잘 개발하다가도 어느 순간 갑자기 저런 오류가 발생하고, 같은 오류임에도 해결 방법은 그때 그때 다르게 했었습니다.

예를 들면, 이전에는 저런 오류가 발생하면 안드로이드 기기에 USB로 연결하여 개발하다가 어느 정도 시간이 지나고 다시 에뮬레이터를 실행하면 실행이 잘 되곤했습니다. 이번엔 그 방법도 안돼서 위 방법을 찾아서 해결했습니다.

이러한 문제는 React Native만의 문제는 아닌 것 같습니다.

네이티브 안드로이드로 개발할 때에도 잘 사용하던 에뮬레이터가 갑자기 안되는 경우가 잦았습니다.

에뮬레이터를 이용해 개발하면 인내가 필요하다는 결론입니다. 😥

생활코딩! React 리액트 프로그래밍, 위키북스  리액트 네이티브를 다루는 기술:실무에서 알아야 할 기술은 따로 있다!, 길벗
(위 링크는 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.)