Answers:
如果您使用的API级别低于25,则Wifi在模拟器上不可用。
当使用API级别为25或更高级别的AVD时,模拟器会提供一个模拟的Wi-Fi接入点(“ AndroidWifi”),Android会自动连接到该接入点。
更多信息:https : //developer.android.com/studio/run/emulator.html#wifi
显然不是,我也没想到。但是,伊万(Ivan)带来了逃脱Android人士的良好可能性。
仿真器的目的是什么?模仿吧?我不知道为什么要出于测试目的-前提是测试人员了解限制-模拟器可能不会添加Wifi模拟器。
例如,它可以使用主机的基础Internet连接来模拟WiFi访问。显然,测试WPA / WEP差异没有意义,但至少可以切换通过WiFi的访问。
或某种模拟器插件,其中会有一个基本的WiFi模拟器,该模拟器将通过基础连接来模拟WiFi访问,但是通过配置,它可以通过提供伪造的WiFi网络及其对应的伪造密码列表来模拟WPA / WEP。针对可配置的凭据列表。
毕竟,想法是在仿真器上进行初始测试,然后再转到实际设备上。
截至目前,使用android仿真器的修订版26.1.3,最终可以在API 25的映像v8上进行。如果仿真器是在升级到最新的API 25映像之前创建的,则需要擦除数据或简单地删除并根据需要重新创建图像。
在某些系统映像中添加了对Wi-Fi的支持(当前仅API级别25)。一个名为“ AndroidWifi”的访问点可用,Android会自动连接到它。可以通过使用命令行参数-feature -Wifi运行仿真器来禁用Wi-Fi支持。
来自https://developer.android.com/studio/releases/emulator.html#26-1-3
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.
(在这里重复我的回答。)
从理论上讲,Linux(Android的底层内核)具有mac80211_hwsim驱动程序,可模拟WiFi。它可用于设置多个WiFi设备(一个接入点和另一个WiFi设备,依此类推),这些设备将组成一个WiFi网络。
这对于在Linux下测试WiFi程序很有用。甚至在用户模式linux或其他隔离的带有Linux的虚拟“盒子” 下也可能。
从理论上讲,该驱动程序可用于没有真正WiFi设备(或不想使用它)的android系统中的测试,也可用于某些android仿真器中。也许,人们可以设法在android-x86中使用此驱动程序,或者(为了进行测试)在VirtualBox中运行的android-x86中使用该驱动程序。
如果您使用的是API 24或更早版本,则仿真器不会为Wi-Fi提供虚拟硬件。从Android开发者网站:
当使用API级别为25或更高级别的AVD时,模拟器会提供一个模拟的Wi-Fi接入点(“ AndroidWifi”),Android会自动连接到该接入点。
您可以通过使用命令行参数-feature -Wifi运行仿真器来禁用仿真器中的Wi-Fi。
https://developer.android.com/studio/run/emulator.html#wi-fi
不支持的内容
Android模拟器不包括以下虚拟硬件:
- 蓝牙
- NFC
- SD卡插入/弹出
- 设备连接的耳机
- USB
Android Wear的手表模拟器不支持“概述”(“最近使用的应用程序”)按钮,D-pad和指纹传感器。
(有关更多信息,请访问https://developer.android.com/studio/run/emulator.html#about)
https://developer.android.com/studio/run/emulator.html#wi-fi
当使用API级别为25或更高级别的AVD时,模拟器会提供一个模拟的Wi-Fi接入点(“ AndroidWifi”),Android会自动连接到该接入点。
来源:https : //developer.android.com/studio/run/emulator.html#wi-fi