如何在Android模拟器上启用WiFi?我试图找到这个,但每个人都将 WiFi 与 3G 混淆了。
如果您使用的 API 级别低于 25,则模拟器上的 Wifi 不可用。
当使用 API 级别 25 或更高级别的 AVD 时,模拟器提供 模拟 Wi-Fi 接入点(“AndroidWifi”)和 Android 自动连接到它。
更多信息: https://developer.android.com/studio/run/emulator.html#wifi
显然事实并非如此,我也没想到会如此。然而,Ivan 提出了一个很好的可能性,但 Android 人员却没有注意到。
模拟器的用途是什么?模仿,对吗?我不明白为什么出于测试目的 - 假设测试人员了解限制 - 模拟器可能不会添加 Wifi 模拟器。
例如,它可以通过使用主机的底层互联网连接来模拟 WiFi 访问。显然,测试 WPA/WEP 差异没有意义,但至少它可以通过 WiFi 切换访问。
或者某种模拟器插件,其中有一个基本的 WiFi 模拟器,可以通过底层连接模拟 WiFi 访问,然后通过配置,它可以通过提供假 WiFi 网络及其相应的假密码列表来模拟 WPA/WEP与可配置的凭据列表进行匹配。
毕竟,我们的想法是在模拟器上进行初始测试,然后转移到实际设备上。
截至目前,随着 Android 模拟器的修订版 26.1.3,它终于可以在 API 25 的映像 v8 上实现。 如果模拟器是在升级到最新的 API 25 映像之前创建的,则您需要擦除数据,或者根据需要删除并重新创建映像。
在部分系统镜像中添加了对 Wi-Fi 的支持(目前仅 API 25级)。名为“AndroidWifi”的接入点可用,并且 Android 会自动连接到它。可以通过以下方式禁用 Wi-Fi 支持 使用命令行参数 -feature -Wifi 运行模拟器。
来自 https://developer.android.com/studio/releases/emulator.html#26-1-3
(在这里重复我在其他地方的回答。)
理论上,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 的手表模拟器不支持概述(最近的 应用程序)按钮、方向键和指纹传感器。
(了解更多信息,请访问 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
如果您的模拟器没有连接到 wifi 而您使用的是 Mac(我不知道如何在 Windows 上添加 DNS),只需转到 网络 -> 高级 -> DNS 并添加 8.8.8.8 和 8.8.4.4 然后关闭 Android 模拟器,打开 Android Studio,选择模拟器并单击冷重启,然后你的模拟器将连接到 wifi。