나는 안드로이드 에뮬레이터에서 Wi-Fi를 활성화하기 위해 언급 된 SO 및 기타 장소에 떠 다니는 다른 솔루션을 시도하는 데 하루 종일 낭비했지만 아무 소용이 없습니다. 아무도 내 안드로이드 에뮬레이터에서 인터넷을 활성화하는 방법을 알아낼 수 있습니까?
Nexus 5X API 27이 있고 대상은 Android 8.1 (Google Play) 및 Nexus 5 API P이고 대상은 Android 7.1.1입니다.
나는 그것에 인터넷을 활성화하는 방법이 있어야한다고 생각합니다. 그렇지 않으면 에뮬레이터에서 가상 Wi-Fi를 제공하는 전체 요점이 낭비되는 것 같습니다.
프록시없이 라우터에 직접 연결된 Mac OS HS 10.13.4를 사용하고 있습니다.
모든 AVD를 삭제하고 다시 설치하려고했습니다. Oreo Android 8.1과 함께 최신 Pixel 2를 설치해 보았습니다.
아무것도 작동하지 않는 것 같습니다. 누구든지이 문제에 직면하여 해결책을 찾았습니까?
어떤 도움이라도 큰 도움이 될 것입니다
감사합니다, Vikram
업데이트 : 내 전화를 통해 내 컴퓨터를 핫스팟 Wi-Fi로 연결하면 에뮬레이터가 Wi-Fi를 통해 인터넷에 연결되지만 내 컴퓨터를 홈 라우터에 연결하면 실패합니다.
답변
다음은 Windows 및 Mac 용 솔루션이지만 유사한 솔루션은 모든 OS에서 작동합니다.
-
Windows에서
- 열기 네트워크 및 공유 센터 와 현재에 클릭 연결
- 속성을 클릭하십시오.
- 인터넷 프로토콜 버전 4 (TCP / IPv4)를 두 번 클릭합니다.
-
기본 및 대체 DNS 서버를 (아래 스크린 샷)으로 설정합니다.
8.8.8.8 8.8.4.4
-
Mac에서
- 이동 설정> 네트워크> 고급 …> DNS
-
거기에있는 모든 항목을 삭제하고 다음 두 항목을 추가하십시오 (아래 스크린 샷).
8.8.8.8 8.8.4.4
참고 : Mac 사용자의 경우 항목 필드가 비활성화되어 있고 편집 할 수없는 경우 해당 창 하단 영역의 ‘잠금’아이콘을 클릭하고 암호를 입력하여 변경할 수 있습니다.
에뮬레이터를 다시 시작하면 해결됩니다.
스크린 샷 :
- 윈도우
- 맥
편집 : 이것은 에뮬레이터의 Wi-Fi가 DNS를 작동하지 않는 DNS로 변경 한 상황에 대한 수정입니다. 이것은 대부분의 경우 작동하지만이 솔루션에서 해결되지 않는 다른 이유가있을 수도 있습니다.
답변
Mac OSX 10.13을 사용하는 내 솔루션
LAN 카드와 WiFi가 활성화되어 발생한다는 내용을 읽었으며 일부 접근 방식이 나에게 복잡해 보였으므로 간단히 시도해 보았습니다.
- 내 노트북에서 WiFi를 비활성화했습니다.
- 에뮬레이터를 끕니다.
- 에뮬레이터에서 콜드 부팅을 수행했습니다 (AVD Manager-> 에뮬레이터 작업-> Cold Boot Now).
- 노트북 Wi-Fi가 비활성화 된 상태에서 재부팅 한 후 에뮬레이터가 적절한 Wi-Fi 연결을 표시했습니다 (에뮬레이터는 여전히 AndroidWifi를 표시하지만 내 노트북 인터넷에 연결되어 있습니다. 이제 Wi-Fi 기호는 다음과 같이 표시됩니다 : Wi-Fi 기호 연결됨 )
- 그런 다음 랩톱에서 WiFi를 활성화했고 모든 것이 작동했습니다.
답변
@TheBaj : 나는 이것에 대한 문제를 파악하고 수정했습니다. 문제는 라우터를 통해 연결될 때 에뮬레이터의 androidwifi가 설정을 사용하고 DNS를 google DNS 인 8.8.8.8이 아닌 다른 것으로 설정한다는 것입니다. 접속하다). 그러나 네트워크 설정에서 DNS를 변경하면 종속성, 특히 다운로드되는 종속성을 가져 오는 google-services 플러그인이 다운로드 jcenter()
되지 않으므로 동기화가 실패하여 결국 빌드가 실패합니다.
따라서 트릭은 기본 라우터 설정 후 네트워크 설정에서 Google DNS (8.8.8.8)를 구성하는 것입니다.이 부분에서는 종속성을 다운로드 jcenter()
하고 동기화 및 빌드가 성공합니다.
이제 emulator @Nexus_5X_API_27 -dns-server 8.8.8.8
터미널에서 명령을 사용하여 에뮬레이터를 실행하면 에뮬레이터가 8.8.8.8을 DNS로 사용하고 에뮬레이터가 인터넷을 갖게됩니다.
나는 반응 네이티브 앱을 작업 중이므로 Android 스튜디오가 필요 없으며 다음과 같이 다른 에뮬레이터를 시작하도록 bashrc를 구성했습니다.
function emunex5 {
emulator @Nexus_5X_API_27 -dns-server 8.8.8.8
}
function emunex6 {
emulator @Nexus_6_API_27 -dns-server 8.8.8.8
}
function emupix {
emulator @Pixel_XL_API_27 -dns-server 8.8.8.8
}
따라서 한 터미널에서 내가 선택한 에뮬레이터를 시작한 다음 시작된 에뮬레이터에서 내 앱을 실행하는 다른 터미널에서 빌드를 실행하고 내 FREAKING EMULATOR에는 인터넷 액세스가 있습니다. 🙂
이것을 시도하고 이것이 도움이되기를 바랍니다.
감사합니다, Vikram