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
'Tech: > 일반·기타' 카테고리의 다른 글
React Native - CodePush 실습 (0) | 2020.11.09 |
---|---|
React Native 개발 환경 구축 절차(Mac) (0) | 2020.11.06 |
2020: React Native (0.61~0.63) 개발 참조 (0) | 2020.11.06 |
2020: ionic/cordova v1 개발 참조 (0) | 2020.09.16 |
HP노트북(dv6-6123tx) "알 수 없는 장치" (4) | 2020.06.19 |