Bật WiFi trên Trình giả lập Android


Câu trả lời:


126

Wifi không khả dụng trên trình giả lập nếu bạn đang sử dụng dưới API cấp 25.

Khi sử dụng AVD có API cấp 25 trở lên, trình giả lập cung cấp một điểm truy cập Wi-Fi mô phỏng ("AndroidWifi") và Android sẽ tự động kết nối với nó.

Thông tin thêm: https://developer.android.com/studio/run/emulator.html#wifi


1
Tôi muốn kiểm tra máy chủ VNC trên ứng dụng giả lập và máy chủ vnc yêu cầu Wifi hoặc USB để kết nối mạng? sau đó giải pháp tốt nhất là gì?
mfq

1
@mfq chạy trên thiết bị thực hoặc sử dụng ứng dụng VNC mã nguồn mở được sửa đổi không cần quan tâm.
Chris Stratton

11
đừng lãng phí thời gian của bạn @salman khalid? Có đúng như vậy không? Ở góc độ lập trình viên, điều tôi thấy là chúng ta cần giảm thiểu chi phí mua thiết bị thực tế nếu nó xảy ra. Chúng ta cần bao nhiêu thiết bị nếu chúng ta chỉ muốn thử nghiệm ứng dụng của mình? OMG .... không phải mọi lập trình viên đều giàu có như những người khác ... thôi! Hãy làm cho trình giả lập thực hiện công việc ... vì vậy chúng tôi đang tạo ra một ứng dụng khác ... đúng không, imz
gumuruh

4
"lãng phí thời gian" cũng đến với tôi. Đó không phải là câu trả lời tốt đẹp, chúng tôi lãng phí thời gian vào việc phát triển khi cần thiết;)
Pointer Null

3
Nó hiện có sẵn với Android Studio 3.0 Canary 1 kể từ ngày hôm nay 17/5/2017.
BK

12

Rõ ràng nó không và tôi không hoàn toàn mong đợi nó sẽ. TUY NHIÊN Ivan đưa ra một khả năng tốt đã thoát khỏi những người Android.

Mục đích của trình giả lập là gì? để EMULATE, phải không? Tôi không hiểu tại sao vì mục đích thử nghiệm - người thử nghiệm được cung cấp hiểu các hạn chế - trình giả lập có thể không thêm trình giả lập Wifi.

Ví dụ, nó có thể mô phỏng truy cập WiFi bằng cách sử dụng kết nối internet cơ bản của máy chủ. Rõ ràng việc thử nghiệm WPA / WEP khác biệt sẽ không có ý nghĩa nhưng ít nhất nó có thể chuyển đổi truy cập qua WiFi.

Hoặc một số loại plugin giả lập trong đó sẽ có một trình giả lập WiFi cơ sở sẽ mô phỏng truy cập WiFi qua kết nối bên dưới nhưng sau đó thông qua cấu hình, nó có thể mô phỏng WPA / WEP bằng cách cung cấp danh sách các mạng WiFi giả và mật khẩu giả tương ứng của chúng sẽ được khớp dựa trên danh sách thông tin xác thực có thể định cấu hình.

Sau tất cả, ý tưởng là thực hiện thử nghiệm ban đầu trên trình giả lập và sau đó chuyển sang thiết bị thực tế.


8
Đã đồng ý. Nếu 3G được giả lập thì tại sao không phải là WiFi? Ngay cả với mục đích cho phép các nhà phát triển làm việc với trạng thái WiFi đang bật.
Kilizo 19/02/15

1
@Kilizo Vấn đề ở đây là ngăn xếp WiFi rất nặng để mô phỏng và cần hỗ trợ để bắc cầu kết nối máy chủ (hoặc có thiết bị WiFi dự phòng để sử dụng). Ngay cả với những thứ như VMWare hoặc VirtualBox để máy ảo sử dụng đúng thiết bị WiFi đầy đủ là một điều khó khăn. Kết nối di động dễ dàng giả lập, tất cả những gì cần làm là kết nối bạn với internet thông thường, bạn không cần phải lo lắng về mạng cục bộ hoặc đảm bảo trình giả lập Android có thể kiểm soát hoàn toàn thiết bị mạng.
sixones

11

Hiện tại, với Bản sửa đổi 26.1.3 của trình giả lập android, cuối cùng cũng có thể sử dụng hình ảnh v8 của API 25. Nếu trình giả lập được tạo trước khi bạn nâng cấp lên hình ảnh API 25 mới nhất, bạn cần xóa dữ liệu hoặc chỉ cần xóa và tạo lại hình ảnh của bạn nếu bạn thích.

Đã thêm hỗ trợ cho Wi-Fi trong một số hình ảnh hệ thống (hiện chỉ có API cấp 25). Một điểm truy cập được gọi là "AndroidWifi" có sẵn và Android tự động kết nối với điểm đó. Có thể tắt hỗ trợ Wi-Fi bằng cách chạy trình giả lập với tham số dòng lệnh -feature -Wifi.

từ https://developer.android.com/studio/releases/emulator.html#26-1-3


xin chào, tôi sẽ cần làm gì để kích hoạt tính năng wifi? vì trong cài đặt của trình giả lập wifi optionis bị tắt tự động.
NehaK

Tôi có thể xác minh rằng nó hoạt động với Hình ảnh Android 7.1.1 (Google Apis), API Cấp 25, ABI x86. Điều kỳ lạ là nó không làm việc với hình ảnh mới hơn: ví dụ như API 27, ABI x86 (Ở đây tôi có thể kích hoạt Wi-Fi, nhưng nó sẽ chuyển về tự động tắt)
TmTron

Bạn có quyền @TmTron, tính đến tháng 8 2017 phản ứng tôi nhận được từ Google làYou're right about API 26, it's in the works and will be available in the future. As for backporting to earlier versions that's something we would like to do although I can't make any promises as to when that will happen or how far back we will go.
Eric Labelle

Đối với phiên bản trình mô phỏng 27.1.2, Wi-Fi hoạt động đối với cấp API 25 và 26, nhưng không hoạt động với 27
CanC

10

(Lặp lại ở đây câu trả lời của tôi ở nơi khác .)

Về lý thuyết, linux (hạt nhân bên dưới android) có trình điều khiển mac80211_hwsim , mô phỏng WiFi. Nó có thể được sử dụng để thiết lập một số thiết bị WiFi (một điểm truy cập và một thiết bị WiFi khác, v.v.), những thiết bị này sẽ tạo thành một mạng WiFi.

Nó rất hữu ích để kiểm tra các chương trình WiFi trên linux. Có thể, ngay cả trong chế độ người dùng linux hoặc các "hộp" ảo biệt lập khác với linux.

Về lý thuyết, trình điều khiển này có thể được sử dụng cho các bài kiểm tra trong hệ thống Android mà bạn không có thiết bị WiFi thực (hoặc không muốn sử dụng nó) và cũng có thể trong một số loại trình giả lập Android. Có lẽ, người ta có thể quản lý để sử dụng trình điều khiển này trong android-x86 hoặc - để thử nghiệm - trong android-x86 chạy trong VirtualBox.


2
Lưu ý rằng hầu hết những gì làm cho wifi dường như là "wifi" đối với ứng dụng Android nằm trong thời gian chạy Android ở chế độ người dùng. Có một cơ hội hợp lý rằng tất cả những gì cần thay đổi là báo cáo . Mặc dù mạng giả lập có một số thuộc tính phù hợp với nhà cung cấp 3g hơn là wifi; cụ thể là trình biên dịch địa chỉ mạng không chấp nhận các kết nối đến không phải từ giao diện lặp lại của máy phát triển lưu trữ. Sửa đổi nền tảng để gọi nó là wifi sẽ thành công, nhưng máy ngang hàng cục bộ duy nhất có thể kết nối sẽ là máy phát triển.
Chris Stratton

3

Trình giả lập không cung cấp phần cứng ảo cho Wi-Fi nếu bạn sử dụng API 24 trở xuống. Từ trang web Nhà phát triển Android:

Khi sử dụng AVD có API cấp 25 trở lên, trình giả lập cung cấp một điểm truy cập Wi-Fi mô phỏng ("AndroidWifi") và Android sẽ tự động kết nối với nó.

Bạn có thể tắt Wi-Fi trong trình giả lập bằng cách chạy trình mô phỏng với tham số dòng lệnh -feature -Wifi.

https://developer.android.com/studio/run/emulator.html#wi-fi

Những gì không được hỗ trợ

Trình giả lập Android không bao gồm phần cứng ảo cho các mục sau:

  • Bluetooth
  • NFC
  • Lắp / đẩy thẻ SD
  • Tai nghe gắn thiết bị
  • USB

Trình giả lập đồng hồ dành cho Android Wear không hỗ trợ nút Tổng quan (Ứng dụng gần đây), D-pad và cảm biến vân tay.

(đọc thêm tại https://developer.android.com/studio/run/emulator.html#about )

https://developer.android.com/studio/run/emulator.html#wi-fi


12
-1 vì ảnh chụp màn hình cho thấy thiết bị được kết nối qua 4G không phải qua WiFi, không trả lời, giải quyết hoặc cung cấp bất kỳ thông tin hữu ích nào cho câu hỏi được hỏi.
sixones

1
@sixones Điều đó không nhất thiết có nghĩa là nó không được kết nối với WiFi: 4G được hiển thị cho mục đích giả lập (chẳng hạn như ứng dụng của bạn sẽ làm gì nếu ở 4G so với 3G) và có thể được thay đổi thông qua cài đặt. Ngay cả khi WiFi được hiển thị là tắt hoặc không được kết nối , tôi vẫn có thể mở Google vì máy tính của tôi được kết nối với WiFi. Vì vậy, mặc dù bạn có thể xem / tải xuống các trang web, bạn không thể mô phỏng kết nối với WiFi cho mục đích giả lập và do đó, cho mục đích này, bạn cần một thiết bị thực được kết nối với WiFi.
Stardust

2
@Stardust Chính xác, vì vậy câu trả lời của bạn không cung cấp gì cho câu hỏi được hỏi ngoài việc cho thấy bạn có thể sử dụng kết nối di động. Giao diện người dùng Android khá đơn giản, nếu bạn kết nối với Wifi, nó sẽ hiển thị trên thanh thông báo, nó cũng có thể hiển thị kết nối di động của bạn đồng thời tùy thuộc vào những gì đã xảy ra. Tất cả những gì bạn đã trình bày là bạn có thể sử dụng trình giả lập trên máy chủ được kết nối wifi, đây không phải là điều mà câu hỏi này đang đặt ra.
sixones

Từ API 25+, bạn có thể sử dụng wi-fi developer.android.com/studio/run/emulator.html#wi-fi Câu trả lời này hiện đã lỗi thời
Menuka Ishan 21/02/18

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.