如何在Android模拟器运行wifi对等应用程序..?

我正在尝试在android(4. +)中开发一个wifi对等应用程序。 这里的问题是如何testing它。

我试图在android模拟器中运行该应用程序。 有没有选项来configuration设置菜单中的WiFi,我也厌倦使用开发工具应用程序的forms模拟器的WiFi,但它没有工作,并通过所有我googling超过3天,我发现Android模拟器不支持Wifi。

所以我select使用虚拟框的androidx86 4.0eeepc和厌倦添加设备无线和蓝牙(我的应用程序同时使用蓝牙和WiFi),但只有蓝牙设备被添加,它没有工作。 但是我的虚拟箱子检测到了wifi和蓝牙设备。 我只是不能让他们与虚拟机的工作。

我尝试了一切,如手动添加地址使用androidx86中的terminal模拟器应用程序,并通过android命令行使用netcfg ,但他们都没有工作。

请build议和指导我在正确的path上运行这些应用程序,使用WiFi和蓝牙在Android。

提前致谢。

Solutions Collecting From Web of "如何在Android模拟器运行wifi对等应用程序..?"

首先,请确保您在Android设置中为两个virtualbox实例启用了WiFi Direct:

设置 – >无线和networking – >更多… – > Wi-Fi直连

有人曾经说过,这个障碍已经被克服了,我相信很多人都经历过同样的情况,只要确保启用wifi即可

我会尝试从模拟器自然移动到androidx86项目已经尝试。 虽然不可靠,但是我build议您看看并讨论这一点,如果您还没有看到: Android:在模拟器中模拟WiFi? 以及如何禁用/启用networking,在Android模拟器切换到Wifi? 最有可能不会有完整的成功,但可能足以让你知道它的工作或将工作。

至于testingWiFi-Direct / WiFiP2P没有你自己有一个设备,我会build议:

  • 尝试一些如上所述的摆弄。 并通读大量的日志。
  • 你总是可以把它发给朋友,或者在一个小组的testing者的论坛上发布一个apk。

当然,这两种select都不是理想的,无缝的或者快速的。 所以,我一定会希望你能得到运行AndroidX86 4.0的VirtualBox虚拟机,因为它应该一旦你检查设置和配对WiFi接入点:-)

根据文档

仿真器的每个实例都在虚拟路由器/防火墙服务后面运行,将其与开发计算机的networking接口和设置以及互联网相隔离。

您必须使用“networkingredirect”,如开发人员文档中所述 。 实质上,您使用ADB转发特定的端口。 所以你不能testing某些东西,比如广播消息。

我试图做你正在做的事情,而我不会说这是不可能的(任何事情都有可能在计算上有足够的时间,金钱和毅力) – 我浪费了很多时间。 您不能将Android模拟器视为正常的networking对等设备。 就我所能find的,这是QEMU的一个分支,这就是QEMU仿真器是如何实现的。

QEMU本身支持TUN / TAP桥接 ,但是我从来没有能够使用Android模拟器工作。 如果你想要走这条路线,你可能想要在QEMU仿真器中而不是在SDK的仿真器(我看你已经在尝试类似VirtualBox的方法)的情况下研究运行Android。

不幸的是,testingAndroid中的对等networking程序的最好方法是使用物理设备,除非您的应用程序可以使用端口转发方法。

另请参见: 问题26:仿真的Android应该能够通过TCP和Google 进行通信

近期的解决scheme:

这可能是不久的将来要研究的东西。 真实的设备由三星主持,屏幕stream式传输到您的电脑。

http://developer.samsung.com/remoteTestLab.do

根据我之前发给他们的三星回复的邮件。 他们目前只有两款运行在Android v4.0上的设备(Galaxy Nexus)。 不幸的是,他们并没有身体接近。 (一个在韩国,一个在波兰)

但他们计划将现有的Galaxy S2升级到4.0版本。 因为最近三星已经为S2发布了v4.0升级。 一旦他们做到了,就会有大量的v4.0手机。

而且你可以问他们哪两部手机在物理上接近,所以你可以testingWifi Direct。

—————————编辑———————- ———–

那里有很多的ICS设备,你可以testingP2P。 与他们检查哪两个在物理上彼此靠近。

(在别处重复我的回答 。)

从理论上讲,linux(内核下的android)有mac80211_hwsim驱动,它模拟WiFi。 它可以用来设置几个WiFi设备(一个接入点,另一个WiFi设备等等),这将组成一个WiFinetworking。

这在linux下testingWiFi程序很有用。 可能,即使在用户模式的Linux或其他孤立的虚拟“盒”与Linux。

从理论上讲,这个驱动程序可以在没有真正的WiFi设备(或不想使用它)的android系统中使用,也可以在某些类似的android模拟器中使用。 也许,人们可以设法在android-x86中使用这个驱动程序,或者 – 在VirtualBox中运行的android-x86中进行testing。