Android Studio - Trình giả lập Android kết nối Wifi khi không có Internet


91

Tôi đã lãng phí cả ngày để thử các giải pháp khác nhau nổi xung quanh SO và nơi khác được đề cập để kích hoạt wifi trên trình giả lập android nhưng vô ích. Ai đó có thể giúp tôi tìm cách kích hoạt Internet trên trình giả lập Android của tôi không?

Tôi có Nexus 5X API 27 và mục tiêu là Android 8.1 (Google Play) và Nexus 5 API P và mục tiêu là Android 7.1.1.

Tôi tin rằng nên có một cách để kích hoạt internet trên đó, nếu không, toàn bộ điểm cung cấp wifi ảo trên trình giả lập dường như là lãng phí.

Tôi đang sử dụng mac OS HS 10.13.4 được kết nối trực tiếp với bộ định tuyến của mình mà không có proxy.

Tôi thậm chí đã thử xóa tất cả các AVD, cài đặt lại chúng. Tôi thậm chí đã thử cài đặt Pixel 2 mới nhất với Android 8.1 Oreo

Có vẻ như không có gì đang hoạt động. Có ai gặp phải vấn đề này và tìm ra giải pháp không?

Mọi sự giúp đỡ sẽ rất hữu ích

Cảm ơn, Vikram

Cập nhật: Khi tôi kết nối máy tính thông qua điện thoại của mình dưới dạng điểm phát sóng wifi, trình giả lập có internet thông qua wifi, nhưng nó không thành công khi tôi kết nối máy tính của mình với bộ định tuyến tại nhà.


nó đã được kích hoạt chưa?

Tôi có cùng một vấn đề. Nó hoạt động thông qua điểm phát sóng điện thoại của tôi nhưng không thông qua bộ định tuyến của tôi. Bạn có loại bộ định tuyến nào? Mọi thứ từng hoạt động tốt trước đây khi tôi có bộ định tuyến AVM nhưng bây giờ tôi có bộ định tuyến Telekom Speedport và nó sẽ không hoạt động nữa.
TheBaj

1
@TheBaj: Loại bộ định tuyến có thể không phải là vấn đề ở đây hoặc có thể có nhưng tôi không biết. Hãy thử giải pháp dưới đây phù hợp với tôi.
Vikram Mahishi

1
@VikramMahishi chỉ cần cập nhật trình giả lập sdk android của bạn. Nó làm việc cho tôi.
Zala Janaksinh,

Câu trả lời:


176

Dưới đây là các giải pháp cho Windows và Mac, nhưng các giải pháp tương tự sẽ hoạt động trên mọi hệ điều hành:

  1. Trên Windows

    • Mở Trung tâm Mạng và Chia sẻ và nhấp vào Kết nối hiện tại
    • Nhấp vào Thuộc tính
    • Nhấp đúp vào Giao thức Internet Phiên bản 4 (TCP / IPv4)
    • Đặt máy chủ DNS Ưu tiên và Thay thế làm (Ảnh chụp màn hình bên dưới):

      8.8.8.8
      8.8.4.4
      
  2. Trên Mac

    • Đi tới Cài đặt> Mạng> Nâng cao ...> DNS
    • Xóa bất kỳ mục nhập nào bạn có ở đó và thêm hai mục nhập này (Ảnh chụp màn hình bên dưới):

      8.8.8.8
      8.8.4.4
      

      Lưu ý: Đối với người dùng Mac, nếu trường mục nhập bị tắt và bạn không thể chỉnh sửa nó, hãy nhấp vào biểu tượng 'Khóa' ở khu vực dưới cùng của cửa sổ đó và nhập mật khẩu để có thể thực hiện thay đổi

Khởi động lại trình giả lập và nó sẽ giải quyết được:

Ảnh chụp màn hình:

  1. các cửa sổ

Trình giả lập Android không kết nối với giải pháp Internet trên Windows

  1. Mac

Trình giả lập Android không kết nối với giải pháp Internet trên máy Mac


Chỉnh sửa: Đây là bản sửa lỗi cho tình huống wifi của trình giả lập đã thay đổi DNS thành một số DNS không hoạt động. Mặc dù điều này thường xuyên hoạt động, nhưng cũng có thể có những lý do khác không thể khắc phục được từ giải pháp này.


6
Tôi vô cùng khó hiểu trước vấn đề này. Điều này giải quyết nó một cách hoàn hảo. Thanh danh!
Vijay Kumar Kanta

1
Cảm ơn. Tôi sẽ không bao giờ nhận ra điều này một mình!
pkozlowski

chạy vào điều này bằng cách sử dụng trình giả lập Android 8 Oreo (AVD) trên android studio. hoặc cờ cli và thay đổi dns toàn hệ thống đã sửa nó.
Thom

1
cảm ơn bạn! đã vật lộn với lỗi này trong hơn 3 ngày
RL Shyam

2
Cảm ơn bạn !!!! nó đã làm việc cho tôi, 8.8.8.8
8.8.4.4

94

Giải pháp của tôi bằng Mac OSX 10.13

Tôi đã đọc về nguyên nhân là do thẻ LAN và WiFi đang được kích hoạt, và một số phương pháp có vẻ phức tạp đối với tôi, vì vậy tôi chỉ cần thử cách này và nó đã hoạt động:

  • Đã tắt WiFi trên máy tính xách tay của tôi.
  • Đã tắt trình giả lập.
  • Đã khởi động nguội trên trình giả lập (Trình quản lý AVD -> hành động của trình giả lập -> Khởi động lạnh ngay).
  • Sau khi khởi động lại với máy tính xách tay WiFi bị vô hiệu hóa, trình giả lập hiển thị kết nối WiFi thích hợp (trình giả lập vẫn hiển thị AndroidWifi nhưng được kết nối với Internet máy tính xách tay của tôi. Biểu tượng WiFi bây giờ trông giống như sau: Biểu tượng WiFi được kết nối )
  • Sau đó, tôi đã bật WiFi trên máy tính xách tay của mình và mọi thứ đều hoạt động.

Điều này đã hoạt động và tôi đã thực hiện "xóa sạch dữ liệu" trước khi "khởi động lạnh" và phải định cấu hình WiFi trong trình giả lập, có một thông báo khi vuốt xuống trên màn hình chính.
Manuel

2
Đã làm cho tôi! Tôi vừa khởi động nguội với wifi bị vô hiệu hóa và nó hoạt động tốt.
Hasen

Đã làm cho tôi. Cảm ơn.
Michael Angelo Reyes

Làm việc như một sự quyến rũ !! Cảm ơn :)
SARATH SASI

Đây là câu trả lời tốt nhất.
Ahmed Mostafa

40

@TheBaj: Tôi đã tìm ra vấn đề với điều này và đã sửa nó. Vấn đề là khi bạn được kết nối thông qua bộ định tuyến, androidwifi trong trình giả lập của bạn sử dụng cài đặt và đặt DNS thành thứ gì đó khác với 8.8.8.8 là DNS của google (tôi cho rằng đây là cài đặt bắt buộc để androidwifi truy cập internet truy cập). Nhưng nếu tôi thay đổi DNS trong cài đặt mạng của mình, thì plugin google-services tìm nạp các phần phụ thuộc của bạn, đặc biệt là phần được tải xuống từ đó jcenter()sẽ không được tải xuống và do đó đồng bộ hóa của bạn sẽ không thành công, dẫn đến việc xây dựng của bạn không thành công.

Vì vậy, mẹo là bạn phải định cấu hình Google DNS (8.8.8.8) trong cài đặt mạng sau cài đặt bộ định tuyến mặc định của bạn - phần này sẽ quản lý việc tải xuống các phụ thuộc từ đó jcenter()đồng bộ hóa và xây dựng thành công.

Bây giờ khởi chạy trình mô phỏng của bạn bằng emulator @Nexus_5X_API_27 -dns-server 8.8.8.8lệnh từ thiết bị đầu cuối buộc trình giả lập sử dụng 8.8.8.8 làm DNS của nó và trình mô phỏng sẽ có internet.

Tôi đang làm việc trên một ứng dụng gốc phản ứng, vì vậy đối với tôi, studio android là không cần thiết và tôi đã định cấu hình bashrc của mình để khởi chạy các trình giả lập khác nhau như sau,

   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
   }

Vì vậy, từ một thiết bị đầu cuối, tôi khởi chạy trình mô phỏng theo lựa chọn của mình và sau đó chạy bản dựng trên một thiết bị đầu cuối khác chạy ứng dụng của tôi trên trình mô phỏng đã khởi chạy và MÁY XÚC XẠ CỦA TÔI ĐÃ TRUY CẬP INTERNET. :)

Hãy thử điều này và tôi hy vọng điều này sẽ hữu ích.

Cảm ơn, Vikram


Cảm ơn, nó hoạt động ngay bây giờ. Đã dành cả ngày cho việc này: /
TheBaj

'emulator' không được nhận dạng là lệnh nội bộ hoặc bên ngoài, chương trình có thể hoạt động hoặc tệp hàng loạt.
Bhupesh

@Bhupesh xem %HOME%\AppData\Local\Android\Sdk\emulator- đây là nơi tôi tìm thấy nó.
t3chb0t

9

Tôi đang gặp sự cố tương tự và làm theo các bước dưới đây đã giải quyết được vấn đề đó.

Các bước:

  1. Đi tới Cài đặt giả lập
  2. Chọn tab proxy
  3. Sau đó, chọn tùy chọn "Sử dụng cài đặt proxy HTTP của Android Studio"
  4. Nhấp vào Áp dụng


Đây là câu trả lời duy nhất phù hợp với tôi, cảm ơn bạn!
Arià

6

Tôi đã giải quyết bằng google dns trên bộ điều hợp mạng 8.8.8.88.8.4.4

Kết nối wifi giả lập Android mà không cần giải pháp internet cho windows


Hy vọng rằng điều này được báo cáo là lỗi ở đâu đó vì nó cũng mất một thời gian cho tôi.
Renetik

5

Xóa dữ liệu bằng cách nhấp chuột phải vào danh sách thiết bị ảo và khởi động lạnh hoạt động với tôi ..


4

Tôi đã làm theo cách này:

Các bước để thêm proxy thủ công:

  1. Đi tới cài đặt Trình giả lập
  2. Chuyển đến tab Proxy
  3. Đặt cấu hình proxy thủ công
  4. Thêm tên máy chủsố cổng của bạn
  5. Nhấp vào Áp dụng

Ảnh chụp màn hình tham khảo:

nhập mô tả hình ảnh ở đây

Hy vọng nó giúp.


4

Đối với tôi, điều này đã giúp ích: Trên Mac OSX (đối với tôi là Catalina), vấn đề là do trình giả lập tự động nhận nameserverbằng cách xem xét /etc/resolv.confvà chọn địa chỉ IPv6 đầu tiên, trong trường hợp của tôi là. Nguồn

Chỉ cần chỉnh sửa tệp ( $ sudo vi /etc/resolv.conf) và di chuyển địa chỉ IPv4 ( 192.168.1.1trong trường hợp của tôi) lên đầu tiên, trước địa chỉ IPv6.

Nghiêm túc mà nói, đó là nó. Của Demetrios Christopher


Cảm ơn bạn đã dành thời gian đóng góp câu trả lời.! Bạn có thể: - 1) chỉnh sửa câu trả lời của bạn để câu trả lời chi tiết. 2) Giải thích những gì bạn đang cố gắng đạt được với câu trả lời này và những gì bạn muốn nói.? Xem Cách viết câu trả lời hay trong Trung tâm trợ giúp để biết thêm thông tin (Cách hỏi: stackoverflow.com/help/how-to-answer )
Paresh Mangukiya

3

Có lẽ điều này sẽ giúp một ai đó. Tôi đã thử tất cả các giải pháp ở trên. Thay đổi DNS, khởi động nguội, v.v. Sau vài giờ thử nghiệm và gặp lỗi, tôi đã truy cập vào tài liệu chính thức, tài liệu này nói rằng trình giả lập chọn cấu hình DNS. của máy chủ tại thời điểm khởi động của trình giả lập. Tôi đã cài đặt VMWare trên máy của mình, máy có cài đặt một vài bộ điều hợp mạng. Vì vậy, tôi vừa thay đổi cấu hình DNS. của tất cả các bộ điều hợp (bao gồm cả bộ điều hợp VMWare) và khởi động nguội trình mô phỏng của tôi. OMG, vấn đề dường như không biến mất trong nhiều giờ, đã trở nên đúng đắn!

Bây giờ, điều tôi thấy kỳ lạ là, tôi đã chuyển lại cấu hình DNS. của tất cả các bộ điều hợp để tự động và khởi động lại trình giả lập của tôi. WiFi vẫn hoạt động tốt. Hệ điều hành: Windows 10.


Tôi chỉ cần khởi động lạnh trình giả lập
KvdLingen

3

100% làm việc trên Windows 10

Android AVD đi kèm với Google DSN được định cấu hình bên trong trình giả lập. Vì vậy, chúng ta cần đặt giống nhau thành chia sẻ mạng để truy cập giống nhau.

Địa chỉ IP DNS công cộng của Google Địa chỉ IP DNS công cộng của Google (IPv4) như sau:

8.8.8.8

8.8.4.4

Địa chỉ IPv6 DNS công cộng của Google như sau:

2001: 4860: 4860 :: 8888 2001: 4860: 4860 :: 8844 Bạn có thể sử dụng địa chỉ làm máy chủ DNS chính hoặc phụ của mình.

Thêm thông tin

Ở đây tôi hiển thị cho các bước thiết lập IP v4

  1. Mở mạng và Trung tâm chia sẻ
  2. Nhấp chuột phải vào kết nối internet hiện tại
  3. Chọn thuộc tính
  4. Nhấp đúp vào Giao thức Internet Phiên bản 4 (TCP / IPv4)
  5. Chọn Sử dụng địa chỉ máy chủ DNS sau
  6. Đặt máy chủ DNS ưa thích và thay thế
  7. Máy chủ DNS được ưu tiên: 8.8.8.8
  8. Máy chủ DNS thay thế: 8.8.4.4
  9. Bấm vào OK
  10. Khởi động lại Android AVD

Lưu ý: Nếu VPN được bật thì nó sẽ không hoạt động cần phải ngắt kết nối VPN của bạn

Thông tin thêm về Google DSN


1
Đáng buồn là chúng tôi cần VPN khi WFH. Không thể tin rằng Google đã để lại vấn đề này trong nhiều năm.
You-Liang Shih

3

Trên Mac OSX (đối với tôi là Catalina), sự cố là do trình giả lập tự động chọn máy chủ định danh bằng cách xem /etc/resolv.conf và chọn máy chủ đầu tiên, trong trường hợp của tôi là địa chỉ IPv6. Nguồn: https://developer.android.com/studio/run/emulator-networking#dns

Chỉ cần chỉnh sửa tệp (sudo vi /etc/resolv.conf) và di chuyển địa chỉ IPv4 (192.168.1.1 trong trường hợp của tôi) lên đầu tiên, trước địa chỉ IPv6. Nghiêm túc mà nói, đó là nó.


1
Wow, không thể tin được nhưng nó đã làm việc cho tôi, cảm ơn.
Jhegs

3

Trên macOS:

  1. Mở Mạng trong Tùy chọn Hệ thống .
  2. Chọn mạng hiện tại của bạn từ bên trái sau đó nhấp vào Advanced ... .
  3. Thay đổi Cấu hình IPv6 (trong tab TCP / IP ) từ Tự động thành Chỉ liên kết cục bộ .
  4. Khởi động lại trình giả lập của bạn.

2

Trên Windows:

Sau khi thử nghiệm một số giải pháp, tôi đã tìm thấy giải pháp của mình bằng cách nhấp vào mũi tên xuống trên AVD, tùy chọn "Cold Boot Now". sau khi khởi động, Android đã có quyền truy cập Internet nên nó hoạt động với tôi.


2

Giải pháp cho Windows:

  1. Đi tới Vị trí SDK Android của bạn, Ví dụ: C: \ Users \ shehzad \ AppData \ Local \ Android \ Sdk \ emulator .
  2. Mở Command Prompt trên cùng một vị trí. Viết lệnh này: emulator -avd Nexus_4_API_29 -gpu host -dns-server 8.8.8.8. Đây Nexus_4_API_29sẽ là tên thiết bị giả lập của bạn (Bạn có thể tìm thấy danh sách thiết bị từ Android Studio -> AVD Manager). Lệnh này sẽ chạy thiết bị được chỉ định của bạn và WIFI sẽ được kết nối Internet.

Hi vọng điêu nay co ich.


0

Điều gì đã làm việc cho tôi:

  • Tắt trình giả lập (sử dụng phím nguồn)
  • Khởi động ứng dụng của bạn trên trình mô phỏng KHÁC và sau đó đóng ứng dụng.
  • Bây giờ hãy khởi động lại ứng dụng của bạn trong trình giả lập trước đó.

0

Nếu điểm phát wifi đã thay đổi, chỉ cần khởi động lại trình mô phỏng để trình mô phỏng làm mới cài đặt mạng từ dịch vụ dhcp.


0

Đặt lại Cài đặt mạng trên Trình giả lập Android sẽ khắc phục sự cố này.


0

Một khởi động nguội đơn giản đã làm việc cho tôi, không cần phải khởi động trình giả lập khác hoặc xóa bộ nhớ.

Chỉ cần đóng trình mô phỏng của bạn và chọn tùy chọn "Cold Boot Now" trên menu thả xuống bên cạnh nút phát. Nếu không tìm kiếm bất kỳ tùy chọn toàn diện nào được liệt kê ở đây, nhưng tôi khuyên bạn nên luôn bắt đầu với giải pháp đơn giản nhất.

Chúc may mắn!



0

Đối với người dùng tìm kiếm mới: Đôi khi VPN là giải pháp của bạn Việc thay đổi cài đặt mạng không phải lúc nào cũng có thể thực hiện được vì sự cố mạng. Nếu bạn đang ở các địa chỉ ip mà google không phản hồi cho các khu vực này, giải pháp của bạn đang sử dụng vpn. Sử dụng vpn thích hợp (vpn mà bạn có thể cập nhật studio android của mình). Khi vpn của bạn khởi động thiết bị avd của bạn ( Tất nhiên cấp độ api của trình giả lập của bạn là quan trọng, ví dụ như tôi không gặp vấn đề gì với api 22 nhưng đối với api 28 thì cần sử dụng vpn!). Đây là kinh nghiệm của tôi về internet giả lập android.


0

Thay đổi vị trí của trình giả lập và đặt nó thành vị trí hiện tại của bạn.

  • Các bước: -

    1. Nhấp vào Thêm trong tùy chọn trình giả lập
    2. Đi đến vị trí
    3. Tìm kiếm địa chỉ của bạn và nhấp vào ĐẶT VỊ TRÍ
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.