요 근래 매우 다양한 일들이 생겨서
심난하여 글을 잘 올리지 못했다.
그러던 중 저번 주에 독특한 요청이 들어왔는데,
안드로이드 디바이스의 host를 변경해서 테스트를 해달라는 요청이었다.
찾아보니 일단 실제 기기에서는 루팅 하지 않는 이상 안되는 듯하고,
에뮬레이터에서 하는 방법을 찾아보았다.
일단 몇몇 버전을 다운로드하여서 테스트해보았는데,
벽돌폰이 된 버전도 생겨낫다....
실제 기기에서 했으면 아찔했을 거 같다.
자 이제 본론으로 넘어가서
방법을 알아보자!
1. AVD Manager를 열자 아래 그림 1처럼 디바이스 목록 버튼을 클릭하면 Open AVD Manager를 발견할 수 있다. 클릭!
2. 왼쪽 하단에 + Create Virtual Device... 을 눌러보자
3. 그림 2 에서 playstore 가 없는 버전을 선택하자
(해당 기능이 있고 없고 가 영향을 끼치는지 더 많이 테스트해보지는 못했지만 내가 테스트했을 때는 일단 안됬음)
4. Next를 누르면 System Image 파일을 선택할 수 있는데 ,
위쪽 상단에 x86을 누르고
아래 버전을 선택한다.
다른 버전을 하고 싶으신 분은 Target 부분에 꼭 (Android x.x (Google APIs)) Google APIs 가 있는지 꼭 확인하고
ABI는 x86_64로 선택한다.
다른 버전도 몇 번의 실패 경험이 있기에 그냥 나와 같은 버전을 일단 시험 삼아 테스트 해보길 바란다.
5. Next를 누르면 AVD Name을 지정하는데 자신이 나중에 입력하기 쉬운 이름으로 짓는다.
나는 test라고 이름을 지었다고 가정하겠다.
6. Finish를 눌러서 생성을 한다.
7. 생성을 한 다음 실행시키지 말고 Android studio의 하단 왼쪽 하단 탭의 Terminal을 클릭한뒤
콘솔 창에 아래와 같은 순서로 따라 한다.
8 ./emulator -avd test -writable-system //루트 권한을 얻기 위해 다음과 같이 명령어를 입력한다.
./emulator 의 위치는 /Users/{사용자계정}/Library/Android/sdk/tools 이다 해당 폴더로 이동후 emulator가 있는 위치에서
위의 명령어를 실행하자. 그럼 자동으로 에뮬레이터가 켜질 것이다.
9. Android studio의 Terminal에서 콘솔 창을 하나 더 켜자 + 버튼을 누르면 하나더 생성된다.
10. adb path 가 설정이 되어있다면 11 번 과정을 생략해도 된다.
그렇지 않다면 11번 처럼 경로를 이동하자.
11. cd /Users/{사용자계정}/Library/Android/sdk/platplatform-tools 로 이동하자
그리고 ls 를 입력해보면 adb 가 보일 것 이다.
12. adb path 설정 했을경우 : adb devices 11번 처럼 폴더로 직접 이동했을경우 ./adb devices
/// 현재 실행중인 디바이스를 확인하자.
앞으로 adb path 지정한 사람은 앞에 실행 문법인 ./ 를 빼고 입력하면 된다.
13. 위의 명령어를 입력하면 아래처럼 뜰것이다. emulator-5554가 사용할 디바이스이니 잘 기억해 두자.
14. ./adb -s emlator-5554 remount ///리마운트를 하자 만약 작동이 되지 않는다면
./adb root 를 통해 루트 권한으로 변경시킨후
다시 입력하자 그럼 remount succeeded 문구가 출력이 될것이다.
15. ./adb -s emlator-5554 pull /system/etc/hosts ~/Desktop
///해당 에뮬레이터의 hosts 파일을 자신의 배경화면에 저장한다. (~/Desktop 부분은 자신이 hosts 파일을 저장할 경로를 입력해 주면 된다. 자신이 수정하기 편한곳으로 옮긴다)
16. 내려받은 hosts 파일을 자신의 호스트에 맞게 수정한다.
ex) 172.111.111.111 dev.test.com
17. 이제 수정된 파일을 다시 원래 위치에 저장하자.
15번 과정을 반대로 하면 된다.
./adb -s emlator-5554 push ~/Desktop/hosts /system/etc/hosts
push를 주의해서 입력하면 이제 에뮬레이터의 hosts 파일이 변경 되었을 것이다.
18. 이제 테스트를 해보자.
직접 에뮬레이터의 브라우저에서 테스트 해도 되고,
콘솔창에서
./adb shell
cat /etc/hosts
ping {자신이 입력한 호스트명}
그럼 핑들이 출력되기 시작할 것이다 !!
완료!!!!!
'공부방 > Android' 카테고리의 다른 글
행복한 코딩을 위하여!
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!