MacOS에서 React Native 개발을 하려다 보면 안드로이드 에뮬레이터를 이용해서 디버깅해야 할 때가 많다.

iOS 시뮬레이터는 MacOS 설정을 그대로 따르기 때문에 특별히 손댈 일이 없고, 또 손 댈 방법도 없는데

안드로이드 에뮬레이터는 OS와 따로 놀기(!) 때문에 특별 관리를 해 주어야 한다.

 

대표적인 것이 바로 hosts 파일.

hosts 파일을 수정해서 실제 모바일 인터넷 환경과 다르게 개발 환경에서 테스트해 볼 필요가 있는데

이것을 그냥은 하기 어렵다.

에뮬레이터 내 루트 파일시스템은 쓰기 불가 상태이기 때문인데...

API 29 미만의 오래된 OS에서는 다행히 파일시스템을 쓰기 가능 상태로 마운트시켜서 수정할 수 있다.

(꼭! Target OS는 Google API가 지원되는 버전이어야 한다.)

 

 

관련해서 몇 가지 자주 쓰는 명령어를 정리했다.

 

 

## 에뮬레이터 이름 얻기
~/Library/Android/sdk/emulator %> emulator -list-avds
Nexus_5X_API_26
 
## 에뮬레이터를 쓰기가능 상태로 실행(초기화 시 원복됨)
~/Library/Android/sdk/emulator %> emulator -avd Nexus_5X_API_26 -writable-system
 
# hosts 내용 확인
%> adb shell cat /etc/hosts

## 에뮬레이터에서 호스트 파일 얻기
%> adb -e root
%> adb -e remount
%> adb -e pull /system/etc/hosts
 
## 성공했다면 현재 폴더에 hosts 파일 생김
 
## 192.168.0.10으로 지정하면 로컬 네트워크에 있는 개발 웹서버로 연결할 수 있다고 가정
## hosts 파일 수정
127.0.0.1       localhost
::1             ip6-localhost
192.168.0.10  원하는 도메인
 
##에뮬레이터에 호스트 파일 넣기
%> adb -e push hosts /system/etc

 

 



Posted by 떼르미
,


자바스크립트를 허용해주세요!
Please Enable JavaScript![ Enable JavaScript ]