인터넷에 액세스 할 수없는 Android 에뮬레이터
이전에 비슷한 질문이 있었지만 2017 년 3 월 최신 버전 인 Android Studio 2.3을 설치 한 후에 만 문제가 발생합니다. 몇 년 동안 Android 애플리케이션 개발 경험이 있으며이 문제가 발생하지 않았습니다. Android Studio 버전 2.3으로 업그레이드 한 후 에뮬레이터에서 더 이상 인터넷에 액세스 할 수 없습니다. 심지어 Android Studio 2.3을 처음부터 제거 / 재설치하고 새 에뮬레이터를 만들었는데 여전히 같은 오류가 발생합니다. 이것은 앱 문제가 아닙니다. Chrome에서 인터넷에 액세스 할 수도 없으며 지난 주에이 문제가 발생하지 않았습니다. 내가받는 메시지는 서버 DNS 주소를 찾을 수 없다는 것입니다-DNS_PROBE_FINISHED_BAD_CONFIG. 지난 주에 내 컴퓨터에서 변경된 유일한 것은 새로운 버전의 Android와 Windows 10으로의 업데이트 일뿐입니다. 그리고 내 컴퓨터는 인터넷에 액세스 할 수 있습니다. 아래는 Chrome을 사용하여 "Google"을 검색 할 때 에뮬레이터의 이미지입니다.
네트워크의 DNS 주소를 8.8.8.8로 변경하십시오.
맥 OS X:- "시스템 환경 설정"을여십시오
- "네트워크"를 클릭하십시오
- 컴퓨터가 연결된 네트워크를 선택하고 "고급"을 클릭하십시오
- "DNS"를 선택하고 "+"버튼을 선택한 다음 "8.8.8.8"을 입력하십시오.
- "확인"및 "적용"을 선택하십시오.
https://developers.google.com/speed/public-dns/docs/using
그런 다음 에뮬레이터를 닫고 다시 시작하십시오.
SDK 2.3으로 업그레이드 할 때 기존 Stack Overflow 스레드에서 임시 솔루션을 찾았습니다 . 이제 에뮬레이터에 연결할 수 없습니다 . 이 스레드는 Android Studio 2.3이 아니라 Android SDK 2.3에 대해 설명합니다. 문제는 에뮬레이터가 현재 내 컴퓨터에서 사용중인 DNS를 찾을 수 없으며 일시적인 해결 방법은 명령 줄에서 에뮬레이터를 시작하고 DNS 서버를 지정하는 것입니다. 당시 발생한 문제는 최신 버전의 Android Studio에서 다시 나타났습니다.
아래에 요약 된 임시 솔루션은 인터넷에 액세스하는 에뮬레이터의 문제를 해결합니다. 그러나 Android Device Monitor를 실행할 때 발생하는 문제는 해결하지 않습니다. 이렇게하면 위에서 설명한대로 여전히 에뮬레이터가 오프라인 상태가됩니다.
SDK에는 "emulator.exe"라는 두 개의 파일이 있습니다. 하나는 sdk \ tools 아래에 있고 다른 하나는 sdk \ emulator에 있습니다. 아래에서 작동 할 수도 있지만 sdk \ emulator에서 사용합니다.
첫 번째 단계는 SDK가있는 위치를 찾는 것입니다. 사용자 이름이 "jdoe"이고 Windows에 Android Studio가 기본 설치되어 있다고 가정하면 SDK는
C:\Users\jdoe\AppData\Local\Android\sdk
두 번째 단계는 실행할 AVD (에뮬레이터)의 이름을 결정하는 것입니다. 명령
C:\Users\jdoe\AppData\Local\Android\sdk\emulator\emulator.exe -list-avds
AVD의 이름이 표시됩니다. 내 컴퓨터에는 Nexus_5X_API_25가 하나만 표시됩니다.
지정된 DNS 서버를 사용하여 명령 줄에서 에뮬레이터를 시작하려면 다음과 같은 것을 사용하십시오.
C:\Users\jdoe\AppData\Local\Android\sdk\emulator\emulator.exe -avd Nexus_5X_API_25 -dns-server 8.8.8.8
이 경우 8.8.8.8 은 Google 공개 도메인 이름 서버입니다.
적절한 환경 변수를 작성하고 PATH 환경 변수를 편집하면 위 명령을 단축 할 수 있지만 그렇게 할 때는주의해야합니다.
이러한 솔루션을 많이 시도한 후 현재 AVD를 삭제하고 다시 만들려고했지만 AVD에서 아래쪽 화살표를 클릭하면 "Cold Boot Now"가 나타납니다.
변덕에 나는 그것을 시도했다. Lo와 내 에뮬레이터가 다시 인터넷에 연결되어 있는지보십시오!
편집 : 좋아, 왜 데이터를 지우고 다시 시작하지 않는지 말하는 사람들을 위해. PC를 다시 시작할 때마다 다시 포맷합니까? 에뮬레이터에서 데이터를 지우는 것은 전화로 공장 초기화를 수행하거나 PC에서 하드 드라이브를 다시 포맷하고 OS를 다시 설치하는 것과 같습니다. 데이터가 완전히 손상되지 않으면 필요하지 않습니다.
에뮬레이터를 종료했다가 다시 시작하면 PC가 최대 절전 모드 또는 절전 모드가되는 것과 같습니다. 메모리가 지워지지 않고 저장됩니다.
콜드 부팅을 수행하는 것은 전화를 재부팅하거나 PC를 재부팅하는 것과 같습니다. 메모리를 재설정하고 다시로드 할 수 있습니다. 이를 통해 네트워크 에뮬레이션이 클린 메모리로 시작하여 올바르게 연결될 수 있습니다.
따라서 데이터를 지우지 마십시오. 콜드 부팅입니다. 여전히 작동하지 않으면 닦아내고 마지막 수단으로 저장하십시오.
8.8.8.8에서 DNS를 해결하기 위해 WIFI 어댑터를 업데이트하면 문제가 해결되었습니다. DNS 업데이트를 망친 애플 업데이트 이후에 일어났다.
업그레이드 후 동일한 문제가 발생했습니다. 에뮬레이터에서 Chrome 브라우저를 열면 더 이상 google.com에 연결할 수 없습니다.
SO에 대한 게시물에서 문제가 에뮬레이터에서 연결이 끊어진 네트워크 어댑터를 사용하려고한다고 제안했습니다. 나를 위해 LAN에 연결했을 때 문제가 발생했습니다. 무선 LAN 어댑터를 비활성화하면 문제가 해결되었습니다.
어댑터를 비활성화하려면 :
- 네트워크 연결로 이동
- 어댑터 찾기
- 마우스 오른쪽 버튼을 클릭하고 비활성화를 선택하십시오.
AVD Manager를 열고 해당 에뮬레이터의 데이터를 지우면됩니다.
나는 또한 같은 문제에 직면하고 있지만 다양한 게시물을 사용하여 문제를 해결하려고합니다. 오늘 나는이 문제를 발견했다. 컴퓨터 구성은 Android Studio 및 Android Emulator가 아닌 문제 일 가능성이 높습니다.
네트워크 설정에서 문제가 발생했습니다. 그냥 기본 DNS 서버 설정 문제를 해결할 것이다, 8.8.8.8에.
Android 에뮬레이터를 열고 확장 제어 로 이동하십시오 . 그런 다음 설정 => proxy (Tab)로 이동하여 "Android studuio HTTP 프록시 설정 사용"을 선택 취소하십시오.
에뮬레이터가 멈추고 프로세스를 종료해야 할 때 이런 일이 일어났습니다. 신호 아이콘은 스크린 샷에서와 같이 항상 작은 "x"를 표시했으며 인터넷에 연결되지 않았습니다.
도움이 된 유일한 것은 에뮬레이터를 제거하고 다시 설치하는 것입니다 (AVD 이미지 아님)
Android Studio에서 :
도구-> Android-> SDK 관리자 "Android Emulator"의 선택을 해제하고 제거하고 다시 확인한 후 다시 설치하십시오.
이것은 에뮬레이터가 마지막으로 자체 업데이트 한 다음 다른 네트워크 어댑터를 비활성화하면 문제가 해결되는 문제였습니다. 이제 다시 자르지 만 활성화 된 유일한 어댑터는 단일 wifi 어댑터이므로 비활성화 할 것이 없습니다.
에뮬레이터 도구를 26.1.1로 프롬프트를 통해 업데이트 한 후에 만 문제가 다시 나타납니다. SDK 도구 업데이트 탭을 통해 에뮬레이터를 제거했다가 다시 설치했습니다. 고맙게도 지금 다시 설치할 때 유일하게 26.0.3을 설치하는 것이 좋습니다 (작동하는 것 같습니다).
이야기의 도덕은 에뮬레이터 업데이트에 매우주의해야합니다 .
나를 위해 에뮬레이터를 다시 시작하지 않고 랩톱을 집으로 가져갈 때 문제가 발생했습니다. 내가 읽은 내용에서 에뮬레이터가 시작되면 PC의 DNS 설정을 읽고 사용합니다. 홈 네트워크에있을 때 회사 DNS 설정이 실패했습니다.
그래 에뮬레이터를 다시 시작하면 문제가 해결되었습니다.
안드로이드 브라우저가 인터넷에 액세스 할 수 있다면이 명령으로 터미널에서 에뮬레이터를 실행할 수 있습니다
SDK 경로로 이동 한 다음
$ / tools / emulator -avd Nexus_5X_API_23 -netdelay 없음 -netspeed 전체
인터넷 문제를 해결합니다 ...
10 일 동안 문제가 발생한 후 방금 C:\Android\.android\
모든 AVD를 삭제하고 생성 된 모든 AVD를 삭제했습니다. 이제 인터넷은 잘 작동하는 것 같습니다.
나는 안드로이드 스튜디오 3.1에 있고 일어났다. adb 서버를 다시 시작하여 해결
$ adb kill-server
$ adb start-server
도움이 되길 바랍니다. 감사합니다
알림 : 컴퓨터 에서 VPN 시스템을 켜면 Android 에뮬레이터 인터넷 연결이 작동 하지 않습니다 .
Windows 에서이 문제에 대한 간단하고 영구적 인 해결책을 얻었습니다.
Etherenet 또는 wifi (연결되어있는) 옵션을 클릭하십시오 ->
연결된 네트워크를 마우스 오른쪽 버튼으로 클릭하십시오.
대화 상자가 열리고 인터넷 프로토콜 버전 (TCP / IPv4) 옵션을 클릭하십시오 .
다른 대화 상자가 열리고 IP 주소 (설정된 상태로 유지)에 대한 첫 번째 설정을 무시 하고 다음 DNS 서버 주소 사용 : 라디오 버튼을 클릭 한 다음 기본 설정 DNS 서버 : 8.8.8.8로 입력하십시오 : 8.8. 대체 DNS 서버에서 4.4 :
이제 언제든지 에뮬레이터를 열 수 있으며 안드로이드 에뮬레이터에서 인터넷을 이용할 수 있습니다.
다른 대상 API로 에뮬레이터를 다시 작성하면 나에게 도움이되었습니다.
나는 같은 문제가 있었고 아래 단계로 해결했습니다.
에뮬레이터 설정으로 이동 한 다음
설정-> 프록시-> 수동으로 구성하거나 Android Studio HTTP 프록시 시뮬레이터 사용을 선택하십시오.
Windows 10에서도 동일한 문제가 발생했습니다 Network & internet settings> Change adapter options> right-click on Wi-Fi and chose properties> Chose Internet protocol version 4 in the list and clicked properties> Turned on the "Use the following DNS server addresses" and filled the first part with "8.8.8.8" address
. 문제 해결됨!
MAC에서 매우 똑같은 문제에 직면했습니다. 모든 것을 시도한 후에 마침내 /Users/Philippe/.android 폴더를 삭제하고 새 에뮬레이터를 만들었습니다 .
Android Studio 용 프록시를 설정하면 프록시가 작동하지 않을 수 있습니다. 프록시없이 시도하십시오.
Visual Studio 2017이 있고이 간단한 몇 번의 클릭으로 Android 에뮬레이터의 인터넷 문제가 해결되었습니다.
나는 또한 이것을 가지고 있었고 새로운 안드로이드 에뮬레이터 가상 장치를 생성하고 Nexus 4 api 27을 선택하여 해결했습니다. Pixel 장치 api 28을 생성하기 전에 장치를 다시 생성 한 후에도 작동하지 않았습니다. 그래서 완전히 다른 구성을 시도했지만 Android Emulator는 예상대로 인터넷에 연결되어 있습니다. 다른 솔루션은 저에게 효과가 없었지만 모든 것을 시도하지는 않았습니다.
내 에뮬레이터와 동일한 문제가 있었지만 위의 모든 것을 수행했지만 아무것도 작동하지 않았습니다. 제어판-> 네트워크 및 공유 센터-> 로컬 영역 연결 설정에서 기본 게이트웨이를 192.168.1.119에서 192.168.1.1로 변경했습니다. 이 IP 주소의 작동 방식에 대해 잘 모르지만 누군가의 시간과 좌절을 구할 수 있습니다.
나에게 문제는 내 컴퓨터가 VPN에 연결되어 있다는 것이었다. 연결을 끊으면 에뮬레이터에서 작동하기 시작했습니다.
전문가 팁 : Linux에서 dnsmasq와 함께 AVD 사용
이해하려면 Android Studio에서 Android 에뮬레이터 네트워킹 설정 을 읽으십시오 .
에뮬레이트 된 장치의 루프백은에서 에뮬레이트 된 장치 127.0.0.1
에서 호스트 루프백에 액세스 할 수 있습니다 10.0.2.2
.
시작시 에뮬레이트 된 장치는의 호스트에서 DNS 이름 서버를 선택하여 DNS 이름 서버를 설정합니다 /etc/resolv.conf
.
그러나 요점은 dnsmasq , you set
nameserver 127.0.0.1 in
/etc/resolv.conf를 사용하면 에뮬레이트 된 장치는 DNS 서버가 실행되는 호스트 루프백 대신 아무것도 실행되지 않는 자체 루프백에 도달한다는 것입니다.
이를 해결하려면 -dns-server
CLI에서 AVD를 실행할 때 추가하십시오 .
예를 들면 다음과 같습니다.
- Cloudflare DNS :
~/Android/Sdk/emulator/emulator -avd Nexus_9_API_23 -dns-server 1.1.1.1
- 호스트의 dnsmasq :
~/Android/Sdk/emulator/emulator -avd Nexus_9_API_23 -dns-server 1.0.2.2
OSX의 경우 타사 VPN 솔루션을 사용했기 때문에 AVD 및 Genymotion이 라우팅 할 수없는 일종의 네트워크 후크를 설치합니다. 제대로 작동하려면 제거해야했습니다. 일부 네트워크에서는 잘 작동했지만 다른 네트워크에서는 잘 작동하지 않았습니다.
안드로이드 에뮬레이터 V 7.1.1 에서 동일한 네트워크 연결 문제 가 발생하면 Android 에뮬레이터 에서 Android 버전을 7.1.1 아래로 줄이면 정상적으로 작동합니다.
Android 9+의 에뮬레이터는 저에게 효과적이지만 Android 7은 인터넷에 연결되지 않습니다.
내 사무실은 Little Snitch 응용 프로그램 방화벽을 사용합니다. 나는 그것을 끄고 Android 7이 작동했습니다. 방화벽을 확인하는 것이 좋습니다.
참고 URL : https://stackoverflow.com/questions/42736038/android-emulator-not-able-to-access-the-internet
'Programming' 카테고리의 다른 글
브라우저 페이지 맨 위로 이동하는 방법 (0) | 2020.05.21 |
---|---|
Laravel에 대한 파일 권한을 설정하는 방법은 무엇입니까? (0) | 2020.05.21 |
각도 포트를 4200에서 다른 포트로 변경하는 방법 (0) | 2020.05.21 |
버튼 모서리를 둥글게하는 방법 (0) | 2020.05.21 |
cocoapods 버전 1.0.0.beta.1에서 포드 설치 표시 오류 (0) | 2020.05.21 |