programing

Android 에뮬레이터가 인터넷에 액세스할 수 없음

instargram 2023. 6. 1. 22:14
반응형

Android 에뮬레이터가 인터넷에 액세스할 수 없음

이전에도 비슷한 질문이 있었던 것으로 알고 있지만, 2017년 3월 최신 버전인 안드로이드 스튜디오 2.3을 설치한 후에야 제 문제가 새로워졌습니다.저는 안드로이드 앱을 개발한 지 몇 년이 되었는데, 이런 문제는 처음입니다.Android Studio 2.3 버전으로 업그레이드한 후 에뮬레이터가 더 이상 인터넷에 액세스할 수 없습니다.Android Studio 2.3을 처음부터 제거/재설치하고 새 에뮬레이터를 만들었지만 여전히 동일한 오류가 발생합니다.이것은 앱의 문제가 아닙니다.저는 크롬에서 인터넷에 접속할 수도 없고, 지난주에는 이런 문제가 없었습니다.서버 DNS 주소를 찾을 수 없다는 메시지가 나타납니다. -- DNS_PROBE_FINished_BAD_CONFIG.지난 주에 제 컴퓨터에서 변경된 것은 Android의 새 버전과 Windows 10 업데이트뿐입니다.그리고 네, 제 컴퓨터는 인터넷에 접속할 수 있습니다.아래는 크롬을 사용하여 "Google"을 검색하려고 할 때의 에뮬레이터 이미지입니다.오류 메시지가 있는 에뮬레이터

  • 먼저 여기에 제시된 대로 에뮬레이터 "콜드 부팅"을 시도합니다.

  • 콜드 부팅이 작동하지 않으면 네트워크의 DNS 주소를 8.8.8(Google의 DNS) 또는 다른 기본 설정으로 변경해 보십시오.

MacOSX:

  • "시스템 환경설정" 열기
  • "네트워크" 클릭
  • 컴퓨터가 연결된 네트워크를 선택하고 "고급"을 클릭합니다.
  • "DNS"를 선택하고 "+" 단추를 선택한 후 "8.8.8.8"(Google의 DNS)을 입력하거나 OpenDNS를 선호하는 경우 "208.67.222"를 입력합니다.
  • "확인" 및 "적용"을 선택합니다.

Windows 및 Linux:

https://developers.google.com/speed/public-dns/docs/using


그런 다음 에뮬레이터를 닫고 다시 시작합니다.

이러한 솔루션을 여러 번 시도한 후 현재 AVD를 삭제하고 다시 만들려고 했는데 AVD의 아래쪽 화살표를 클릭하자 "Cold Boot Now"가 눈에 띄었습니다.

AVD 메뉴

저는 즉흥적으로 그것을 시도했습니다.내 에뮬레이터가 다시 인터넷에 연결됩니다!

명령줄 접근 방식

을 통해 명령을통에터시를는경작우하이다통니, 다을합과음해레뮬다▁pass▁in,▁em니통▁through▁youulator▁command합과를 전달합니다.-no-snapshot-load 션예, 옵:

%ANDROID_HOME%/emulator/emulator.exe -netdelay none -netspeed full -no-snapshot-load -avd Pixel_2_API_28

또는 MacOSX의 경우:

$ANDROID_HOME/emulator/emulator -netdelay none -netspeed full -no-snapshot-load -avd Pixel_2_API_28

변경이 필요할 수 있습니다.-avd Pixel_2_API_28부품(사용자 고유의 가상 장치 이름 포함).

또한대도구는의를 사용합니다.ANDROID_HOME 이름을 합니다(아직 ). 요즘은 "환경 보호 이름"("Environment-provider name")입니다. 하지만 요즘은ANDROID_ROOT또 다른 이름 지정 옵션입니다.

결정

좋습니다. 데이터를 지우고 다시 시작하는 것이 어떨까요?PC를 다시 시작할 때마다 다시 포맷합니까?에뮬레이터에서 데이터를 지우는 것은 공장 출하 시 전화기를 재설정하거나 PC의 하드 드라이브를 다시 포맷하고 OS를 다시 설치하는 것과 같습니다.데이터가 완전히 손상되지 않는 한 불필요합니다.

에뮬레이터를 껐다가 다시 시작하면 PC를 최대 절전 모드 또는 절전 모드로 전환하는 것과 같습니다.메모리는 지워지지 않고 저장됩니다.

콜드 부팅을 수행하는 것은 전화기를 재부팅하거나 PC를 재부팅하는 것과 같습니다.메모리를 재설정하고 다시 로드할 수 있습니다.이렇게 하면 네트워크 에뮬레이션이 클린 메모리로 시작되어 올바르게 연결될 수 있습니다.

따라서 데이터를 삭제하지 마십시오.그냥 찬 부츠.그래도 작동하지 않으면 닦지만 마지막 수단으로 저장합니다.

SDK 2.3으로 업그레이드된 이전 스택 오버플로 스레드에서 임시 솔루션을 찾았습니다. 이제 에뮬레이터가 연결되지 않습니다.이 스레드는 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 환경 변수를 편집하면 위의 명령을 단축할 수 있지만 이 경우 주의하는 것이 좋습니다.

Mac 사용자를 위한 [UPDATE 2022]

Apple Silicon 사용자가 아닌 경우

  1. 시스템 기본 설정
  2. 네트워크
  3. WiFi > 고급 선택
  4. 고급에서 DNS 탭 선택
  5. DNS 서버 8.8.8.8 추가
  6. DNS 서버가 추가된 후 에뮬레이터를 다시 시작해야 합니다(@kapush 덕분).

Apple Silicon 사용자용

@bourdier-jonathan에 따라 여기서 실리콘 문제를 해결할 수 있습니다. 에뮬레이터는 암64-v8a의 마지막 업데이트 M1 Mac에서 오프라인으로 나타납니다.

다운로드한 AVD 시스템 이미지를 r02 이미지로 교체합니다.왜냐하면 r03, r04, r05가 모두 m1에서 작동하지 않기 때문입니다.

8.8.8.8에서 DNS를 해결하기 위해 WIFI 어댑터를 업데이트한 것이 문제를 해결했습니다.그것은 DNS 주소를 엉망으로 만든 애플 업데이트 이후에 발생하기 시작했습니다.

여기에 이미지 설명 입력

AVD 관리자를 열고 에뮬레이터의 데이터를 삭제하기만 하면 됩니다.

Android 에뮬레이터를 열고 확장 컨트롤로 이동합니다.그런 다음 설정 => 프록시(Tab)로 이동하여 "Android studio HTTP 프록시 설정 사용"을 선택 취소하고 "적용"을 클릭합니다.

macOS: 긴 이야기 짧은.. 설정 DNS를 하십시오.8.8.8.8데이터를 삭제하고 콜드 부트를 수행할 수 있습니다.

여기에 이미지 설명 입력

알림: 컴퓨터에서 VPN 시스템을 켜면 Android Emulator 인터넷 연결이 작동하지 않습니다.

저는 업그레이드 후에 이와 같은 문제를 경험했습니다.에뮬레이터에서 크롬 브라우저를 열자 google.com 에 더 이상 접속할 수 없었습니다.

SO에서 에뮬레이터가 연결이 끊긴 네트워크 어댑터를 사용하려고 하는 것에 문제가 있다는 게시물을 발견했습니다.저는 LAN에 연결되었을 때 문제가 발생했습니다.무선 LAN 어댑터를 비활성화하면 문제가 해결됩니다.

어댑터를 사용하지 않도록 설정하는 방법

  1. 네트워크 연결로 이동합니다.
  2. 어댑터 찾기
  3. 마우스 오른쪽 단추를 클릭하고 사용 안 함을 선택합니다.

AVD Manager에서 데이터를 삭제하기로 결정했습니다.

이것은 에뮬레이터가 얼어서 프로세스를 죽여야 했을 때 저에게 일어난 일입니다.신호 아이콘은 스크린샷에서와 같이 작은 "x"를 항상 표시하고 인터넷에 연결하지 못했습니다.

유일하게 도움이 된 것은 에뮬레이터(AVD 이미지가 아님)를 제거하고 다시 설치하는 것이었습니다.

Android Studio의 경우:

Tools -> Android -> SDK Manager "Android Emulator"를 선택 취소하고 제거한 후 다시 확인하고 설치합니다.

스크린샷

저도 같은 문제에 직면해 있지만, 여러 게시물을 이용하여 문제를 해결하려고 노력하고 있습니다.오늘 저는 이 문제를 발견했습니다.Android Studio 및 Android Emulator가 아닌 컴퓨터 구성이 문제일 가능성이 높습니다.

네트워크 설정에서 문제가 발생했습니다.기본 DNS 서버를 8.8.8.8로 설정하면 문제가 해결됩니다.

윈도우에서 이 문제에 대한 간단하고 영구적인 해결책을 얻었습니다.

네트워크인터넷 옵션으로 이동 ->

Etherenet 또는 wifi(연결되어 있는) 옵션 클릭 ->

어댑터 변경 옵션 클릭 ->

연결한 네트워크에서 마우스 오른쪽 단추를 클릭합니다.여기에 이미지 설명 입력

대화 상자가 열리고 인터넷 프로토콜 버전(TCP/IPv4) 옵션을 클릭합니다.여기에 이미지 설명 입력

다른 대화 상자가 열리고 IP 주소에 대한 첫 번째 설정(설정된 상태로 유지)을 무시하고 다음 DNS 서버 주소 사용:의 라디오 버튼을 클릭한 다음 기본 DNS 서버:에 8.8.8.8로 입력하고 대체 DNS 서버에 8.8.4.4로 입력합니다.

이제 언제든지 에뮬레이터를 열 수 있고 안드로이드 에뮬레이터에서 인터넷을 사용할 수 있습니다.

저에게 이 문제는 에뮬레이터를 다시 시작하지 않고 노트북을 집으로 가져갔을 때 발생했습니다.제가 읽은 바로는 에뮬레이터가 시작되면 PC의 DNS 설정을 읽고 사용합니다.홈 네트워크에 있을 때 작업 DNS 설정이 실패했습니다.
하는 것만으로되었습니다.에뮬레이터를 다시 시작하는 것만으로 문제가 해결되었습니다.

이것은 에뮬레이터가 마지막으로 자체 업데이트를 한 후 다른 네트워크 어댑터를 비활성화하여 수정했을 때의 문제였습니다.이제 다시 크롭업되었지만 활성화된 어댑터는 와이파이 하나뿐이므로 비활성화할 것이 없습니다.

에뮬레이터 도구를 26.1.1로 업데이트한 후에야 이 문제가 다시 나타났습니다.SDK Tools update 탭을 통해 에뮬레이터를 제거했다가 다시 설치했는데 다행히도 지금 다시 설치할 때 26.0.3을 설치하는 방법밖에 없습니다(정상적으로 작동하는 것 같습니다).

그 이야기의 교훈은 에뮬레이터 업데이트를 매우 경계하는 것입니다.

저는 집에서 카페로 이동하는 동안 에뮬레이터를 켠 후 이 문제에 직면했습니다."Cold Boot Now"가 문제를 해결했습니다.

에 10일간의 고민 끝에 했습니다.C:\Android\.android\생성된 모든 AVD를 삭제했습니다.이제 인터넷은 잘 되는 것 같습니다.

에뮬레이터를 닫고 다시 여는 것이 나에게 효과가 있었습니다.

OS WINDOWS 10

AVD 매니저로 이동하면 콜드 부트가 작동합니다.

안드로이드 구성에서 와이파이를 껐다가 켠 후에 작동할 수 있습니다.

wifi 켜기/끄기

아래 링크를 통과해주시기 바랍니다.

https://developer.android.com/studio/run/emulator-networking

에뮬레이터를 열고 추가...를 클릭한 다음 설정 및 프록시를 클릭합니다.여기서 HTTP 프록시 설정을 정의할 수 있습니다.


실행 > cmd > 호스트 이름을 따라 호스트 이름을 입력합니다.

마지막으로, 크롬이나 구글에서 탐색하여 에뮬레이터 내부의 인터넷 액세스를 확인합니다.

참고: 데이터를 자주 삭제하면 문제가 해결됩니다.모든 단계를 따르십시오.

나는 안드로이드 스튜디오 3.1에 있고, 그 일이 일어났습니다.adb 서버를 다시 시작하여 해결했습니다.

$ adb kill-server
$ adb start-server

도움이 되길 바랍니다.감사해요.

Android Studio 설정에서 프록시를 비활성화하고 "Cold Boot Now"로 에뮬레이터를 실행하여 저에게도 문제가 있었습니다.

전체 시스템에 대해 사용자 지정 DNS를 사용하지 않는 MacOS용 솔루션

1단계

를 .emulator을 "Android Studio" Android SDK로 변경합니다.emulator-original.

내 것이 위치해 있습니다./usr/local/share/android-sdk/emulator/emulator개별 설정에 따라 다를 수 있습니다.

2단계

다파일추니다가합을라는 새 합니다.emulator다음 명령이 포함된 원본 파일 대신(또는 선택한 DNS 서버 사용).

#!/bin/bash
$0-original "$@" -dns-server 8.8.8.8

3단계

새로만을 .emulator파일 실행 파일.

chmod +x emulator

4단계

Android Studio를 사용하여 에뮬레이터를 다시 시작합니다.

만약 안드로이드 브라우저가 인터넷에 접속할 수 있다면, 당신은 이 명령으로 터미널에서 에뮬레이터를 실행할 수 있습니다.

SDK 경로로 이동합니다.

/tools/에뮬레이터 -avd Nexus_5X_API_23 - netdelay 없음 - netspeed full

그것은 당신의 인터넷 문제를 해결해줍니다.

저도 같은 문제가 있었고 아래 단계로 해결했습니다.

에뮬레이터 설정으로 이동한 다음

setting->Proxy->수동으로 구성하거나 Tick을 사용하여 Android Studio HTTP 프록시 시뮬레이터를 사용합니다.

이것이 당신에게 효과가 있다면 투표해 주십시오.

다음 단계를 한 번 시도해 보면 효과가 있었습니다.

  1. 인터넷에서 PC 연결 끊기
  2. 연결이 끊어진 상태에서 에뮬레이터를 닫습니다.
  3. 다시 인터넷에 연결합니다.
  4. 드디어 에뮬레이터를 다시 시작합니다.

1-설정 프록시 없음

여기에 이미지 설명 입력

2개의 인증서 캐시

여기에 이미지 설명 입력

3-기존 에뮬레이터를 제거하고 새 에뮬레이터를 추가합니다.

다른 대상 API를 사용하여 에뮬레이터를 다시 만드는 것만으로도 효과가 있었습니다.

언급URL : https://stackoverflow.com/questions/42736038/android-emulator-not-able-to-access-the-internet

반응형