2009-10-13 73 views
30

Tôi muốn kiểm tra từ ứng dụng của tôi cho dù thiết bị có kết nối WiFi, nhưng để làm điều đó, trước tiên tôi phải tìm cách để có được "WiFi" trong trình mô phỏng. Chỉ cần đi Cài đặt -> điều khiển không dây -> Wifi nói Không thể khởi động WiFi, trong khi logcat nói:Android: Mô phỏng WiFi trong trình giả lập?

E/WifiService( 566): Failed to load Wi-Fi driver. 
D/SettingsWifiEnabler( 695): Received wifi state changed from Unknown to Enabling 
D/SettingsWifiEnabler( 695): Received wifi state changed from Enabling to Unknown 

Làm thế nào tôi có thể mô phỏng khả năng kết nối WiFi trong giả lập?

Trả lời

7

Vì đây có vẻ là một câu hỏi phổ biến, tôi sẽ tiếp tục và thêm câu trả lời cập nhật. SDK vẫn không hỗ trợ mô phỏng Wi-Fi, nhưng Genymotion có WiFi theo mặc định, vì vậy bạn có thể sử dụng SDK để phát triển/thử nghiệm các ứng dụng có chức năng WiFi cụ thể.

+2

Đúng, nhưng chỉ trong phiên bản được cấp phép. Cập nhật –

+0

2017, giờ đây có sẵn trong [trình mô phỏng API 25] (https://developer.android.com/studio/releases/emulator.html#26-1-3) khi bạn tắt tăng tốc phần cứng - –

19

Hiện tại, trong khi bạn có thể sử dụng kết nối Internet của máy tính trong trình mô phỏng, không đáng tin cậy khi sử dụng nó để mô phỏng Wi-Fi. Các WifiManager bị nhầm lẫn khi bạn chuyển đổi/muốn kiểm tra trạng thái kết nối của bạn.

Ngay cả trong Android 1.5, có một số vấn đề với nó (Issue 2571 - android) và trong khi bạn có thể sử dụng Internet để mô phỏng kết nối HTTP và tải xuống dữ liệu, kiểm soát tốt hơn đối với kết nối Wi-Fi.

3

Nếu bạn không có thiết bị thực, tôi nghĩ cách tốt nhất là cài đặt android-x86 hoặc sử dụng nó trên usb trực tiếp. Không có sự khác biệt giữa android và android-x86.

Và wi-fi hỗ trợ android-x86. để bạn có thể cài đặt ứng dụng và chạy ứng dụng đó.

+0

được rồi ... nhưng nó có hoạt động đúng không? Tôi có nghĩa là mô phỏng wifi từ giả lập đó (VirtualBox)? : D – gumuruh

+0

Tính đến hôm nay, nó không. –

3

Về lý thuyết, Linux (hạt nhân cơ bản 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 acces, và một thiết bị WiFi, và như vậy), mà sẽ tạo nên một mạng WiFi.

Tính năng này hữu ích khi kiểm tra các chương trình WiFi trong linux. Có thể, ngay cả dưới user-mode linux hoặc các "hộp" ảo bị cô 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 để thử nghiệm trong các hệ thống Android, nơi bạn không có thiết bị WiFi thực sự (hoặc không muốn sử dụng nó), và cũng có thể sử dụng một số trình mô phỏng 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

Có lẽ không thay thế cho thử nghiệm trên một thiết bị thật, nhưng nếu bạn đang tìm kiếm một trường hợp thử nghiệm đủ tốt trong giả lập cho Fake Wifi Connection thử:

Nó làm cho các ứng dụng nghĩ rằng họ đang ở trên wifi không có vấn đề gì kết nối cơ bản là.

tuyên bố từ chối trách nhiệm: Tôi đã viết nội dung này.
Nó hoạt động bằng cách chặn các cuộc gọi ConnectivityManager/WifiManager (sử dụng Xposed). Tôi đã cố gắng để trang trải hầu hết trong số họ để nó làm một công việc khá tốt, tuy nhiên nó luôn luôn có thể một số là mất tích (nếu bạn tìm thấy một cái gì đó cho tôi biết).

4

Android emulator wifi

Bắt đầu từ phiên bản 26.1.3, bộ mô phỏng Android bây giờ hỗ trợ kết nối WiFi trên một hình ảnh Nougat (API 25).

Đã thêm hỗ trợ cho Wi-Fi trong một số hình ảnh hệ thống (hiện chỉ ở cấp API 25). Một điểm truy cập được gọi là "AndroidWifi" khả dụng và Android tự động kết nối với nó.

Nguồn: https://developer.android.com/studio/releases/emulator.html#26-1-3

Bạn có thể kiểm tra phiên bản giả lập của bạn bằng cách vào cài đặt giả lập (ba chấm)> Help> About. Cũng lưu ý rằng nếu AVD được tạo trước khi phiên bản 26.1.3 được phát hành, bạn sẽ phải tạo lại AVD của mình. Tôi đọc ở đâu đó rằng xóa dữ liệu cũng có thể hoạt động, nhưng tôi không thử điều đó.

+0

Tôi cần tắt tăng tốc phần cứng cho nó khả dụng. Tại thời điểm viết bộ 'Đồ thị hiệu năng mô phỏng' thành' Phần mềm - GLES 2.0'. –

Các vấn đề liên quan