Android 에뮬레이터의 호스트 변경(호스트가 읽기 전용으로 편집할 수 없는 경우)
2314 단어 AndroidStudioFlu
덧붙여서, Mac에서는/etc/hosts를 다시 쓰는 것만으로 솔직하게 읽어 주므로 매우 편합니다. Android 에뮬레이터도 그러한 사양으로 해 주었으면 합니다.
호스트가 읽기 전용으로 다시 쓸 수없는 경우의 해결책
먼저 해결책이지만 SDK Platform에서 API28 이하를 사용하면 할 수있었습니다. 현재 30과 29가 있지만, 어느 쪽이든 아래 오류가 발생했습니다.
adb: error: failed to copy 'hosts' to '/system/etc/hosts': remote couldn't create file: Read-only file system
SDK Platform을 API28로 설정
Android studio의 Configure에서 SDK Manager를 열고 Android 9.0을 선택하여 설치합니다.

기기 등록
Android studio의 Configure에서 ADV Manager를 열고 Create Virtual Device에서 설치한 기기를 등록합니다.

호스트의 재작성 절차
위의 단계가 완료되면 hosts 다시 쓰기로 이동합니다. 아래는 Windows의 예입니다.
명령 프롬프트를 열고 Writable 모드에서 에뮬레이터를 시작합니다.
> cd C:\Users\ユーザー名\AppData\Local\Android\Sdk\emulator
> emulator -writable-system -avd Pixel_3a_XL_API_28
다른 명령 프롬프트를 열고 hosts 파일을 다운로드합니다.
> cd C:\Users\ユーザー名\AppData\Local\Android\Sdk\platform-tools
> adb root
> adb remount
remount succeeded
> adb pull /system/etc/hosts hosts
/system/etc/hosts: 1 file pulled, 0 skipped. 0.0 MB/s (56 bytes in 0.002s)
이 시점에서 platform-tools 폴더에 hosts 파일이 다운로드되었다고 생각하므로 마지막 줄에 필요한 IP와 호스트 이름을 추가합니다.
hosts 파일을 편집한 hosts로 덮어씁니다.
> adb push hosts /system/etc/hosts
hosts: 1 file pushed, 0 skipped. 0.1 MB/s (99 bytes in 0.001s)
다음 명령으로 hosts가 성공적으로 다시 작성되었는지 내용을 확인할 수 있습니다.
> adb shell
> cat /etc/hosts
저장된 호스트가 되돌아가는 문제
에뮬레이터를 다시 시작하면 모처럼 변경된 hosts 파일이 되돌아갑니다. 이것에 대해서는 넷에서 질문하고 있는 사람을 보았습니다만, 아직 해결책은 없는 것 같습니다.
해결책이 발견되면 이 기사에서 소개합니다. 번거롭지만, 당분간은 가능한 한 에뮬레이터를 시작한 상태로 두는 것으로 회피하기로 합니다.
Reference
이 문제에 관하여(Android 에뮬레이터의 호스트 변경(호스트가 읽기 전용으로 편집할 수 없는 경우)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/flatwhite/items/8d95311ffceb6f36761e
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
adb: error: failed to copy 'hosts' to '/system/etc/hosts': remote couldn't create file: Read-only file system
위의 단계가 완료되면 hosts 다시 쓰기로 이동합니다. 아래는 Windows의 예입니다.
명령 프롬프트를 열고 Writable 모드에서 에뮬레이터를 시작합니다.
> cd C:\Users\ユーザー名\AppData\Local\Android\Sdk\emulator
> emulator -writable-system -avd Pixel_3a_XL_API_28
다른 명령 프롬프트를 열고 hosts 파일을 다운로드합니다.
> cd C:\Users\ユーザー名\AppData\Local\Android\Sdk\platform-tools
> adb root
> adb remount
remount succeeded
> adb pull /system/etc/hosts hosts
/system/etc/hosts: 1 file pulled, 0 skipped. 0.0 MB/s (56 bytes in 0.002s)
이 시점에서 platform-tools 폴더에 hosts 파일이 다운로드되었다고 생각하므로 마지막 줄에 필요한 IP와 호스트 이름을 추가합니다.
hosts 파일을 편집한 hosts로 덮어씁니다.
> adb push hosts /system/etc/hosts
hosts: 1 file pushed, 0 skipped. 0.1 MB/s (99 bytes in 0.001s)
다음 명령으로 hosts가 성공적으로 다시 작성되었는지 내용을 확인할 수 있습니다.
> adb shell
> cat /etc/hosts
저장된 호스트가 되돌아가는 문제
에뮬레이터를 다시 시작하면 모처럼 변경된 hosts 파일이 되돌아갑니다. 이것에 대해서는 넷에서 질문하고 있는 사람을 보았습니다만, 아직 해결책은 없는 것 같습니다.
해결책이 발견되면 이 기사에서 소개합니다. 번거롭지만, 당분간은 가능한 한 에뮬레이터를 시작한 상태로 두는 것으로 회피하기로 합니다.
Reference
이 문제에 관하여(Android 에뮬레이터의 호스트 변경(호스트가 읽기 전용으로 편집할 수 없는 경우)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/flatwhite/items/8d95311ffceb6f36761e
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Android 에뮬레이터의 호스트 변경(호스트가 읽기 전용으로 편집할 수 없는 경우)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/flatwhite/items/8d95311ffceb6f36761e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)