Android:在模拟器中模拟WiFi?

Fel*_*lix 32 testing android device-emulation wifi android-emulator

我想从我的应用程序检查设备是否具有WiFi连接,但为了做到这一点,我必须首先找到一种方法来在模拟器中获得"WiFi".只需进入设置 - >无线控制 - > Wifi无法启动Wi-Fi,同时logcat说:

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
Run Code Online (Sandbox Code Playgroud)

如何在模拟器中模拟WiFi连接?

Dim*_*rov 19

目前,虽然您可以在模拟器中使用计算机的Internet连接,但使用它来模拟Wi-Fi并不可靠.在WifiManager当你切换/想测试你的连接状态变得混乱.

即使在Android 1.5中,也存在一些问题(问题2571 - android),虽然您可以使用Internet来模拟HTTP连接和下载数据,但是更好地控制Wi-Fi连接应该更好地使用设备.


Fel*_*lix 8

由于这似乎是一个受欢迎的问题,我将继续并添加更新的答案.SDK仍然不支持WiFi模拟,但Genymotion默认使用WiFi,因此您可以使用它来开发/测试具有特定WiFi功能的应用程序.

  • 正确,但仅限于许可版本atm. (2认同)

Sak*_*ket 5

Android模拟器wifi

从版本26.1.3开始,Android模拟器现在支持在Nougat图像上连接到WiFi(API 25).

在某些系统映像中添加了对Wi-Fi的支持(目前仅限API级别25).可以使用名为"AndroidWifi"的接入点,Android会自动连接到该接入点.

资料来源:https://developer.android.com/studio/releases/emulator.html#26-1-3

您可以通过进入模拟器设置(三个点)>帮助>关于来检查模拟器的版本.另请注意,如果在版本26.1.3发布之前创建了AVD,则必须重新创建AVD.我在某地读到擦除数据也可能有用,但我没试过.