2012-03-13 67 views
22

我想在android(4. +)中开发一个wifi对等应用程序。 这里的问题是如何测试它。如何在Android模拟器中运行wifi对等应用程序..?

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

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

我什么都试过像手动添加在androidx86使用终端仿真程序的地址,并通过Android命令行中使用netcfg但都没有奏效。

请建议并指导我在正确的路径上运行这些应用程序,在Android中使用WiFi和蓝牙。

在此先感谢。

+1

我也想知道这个。如果您有其他答案,请在此更新以便共享。我们使用v4.0 wifi direct API进行开发,最终我们购买了一些Galaxy Nexus进行测试。 – Calvin 2012-03-16 06:01:23

+0

您是否在Android设置中为两个virtualbox实例启用了WiFi Direct?设置 - >无线和网络 - >更多... - > Wi-Fi直接 – TryTryAgain 2012-03-20 22:56:29

+0

确实...我也从YouTube上发现无线网络工作正常。不知道为什么/与你有什么区别.... https://www.youtube.com/watch?v=Mngdn0Be5g4 – gumuruh 2014-05-20 15:11:51

回答

6

首先,一定要支持WiFi直接在Android设置两个VirtualBox的实例:

设置 - >无线&网络 - >更多 - >直接WiFi

它一直stated as working一旦道坎之后,我敢肯定,许多人都经历过同样的...只是一定要启用WiFi直接

我会尝试究竟是什么,你已经通过自然试过从模拟器移动到androidx86项目。虽然不可靠,但我建议您查看并讨论这个问题,如果您还没有看到它:Android: Simulate WiFi in the emulator?How to disable/enable network, switch to Wifi in Android emulator?很可能不会完全取得成功,但可能足以让您知道它的工作原理或工作原理。

至于测试WiFi-Direct/WiFiP2P没有你自己有一个设备/ s的,我会建议:

  • 上述试行一些摆弄的。并通读大量的日志。
  • 你总是可以将它发送给朋友,或者在论坛上为小组测试者发布一个apk。

当然,这两个选项都不是理想的,无缝的或快速的。所以,我肯定希望得到您AndroidX86 4.0的VirtualBox虚拟机上运行,​​因为它应该,一旦你检查设置和配对的无线接入点:-)

+0

嗯....似乎你也不在“只是尝试在仿真器中模拟Wifi”而不是“只购买真实设备”的一面,@TryTryAgain。 – gumuruh 2014-05-20 15:16:46

4

不久的将来解决方案:

这可能是东西在不久的将来进行调查。 真实设备由三星主持,屏幕流式传输到您的电脑。

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

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

但他们计划将现有的Galaxy S2升级到v4.0。 因为最近三星已经发布了S2的v4.0升级。 一旦他们这样做,将会有很多v4.0手机。

你可以问他们哪两部手机在物理上接近,因此你可以测试Wifi Direct。

---------------------------编辑----------------- ----------------

现在有很多ICS设备,您可以测试P2P。 检查他们哪两个在物理上彼此接近。

3

docs

模拟器的每个实例后面,从您的开发机器的网络 接口和设置,并从互联网隔离开一个虚拟的路由器/防火墙 服务运行。

您必须使用网络重定向,如described in the Developer Docs。实质上,您使用ADB转发特定端口。因此你不能测试某些东西,比如广播消息。

我试过做你想做的事情,虽然我不会说这是不可能的(任何事情都有可能在计算上有足够的时间,金钱和持久性) - 我浪费了很多时间在上面。您不能将Android模拟器视为普通的网络对等设备。就我所能找到的,这是QEMU的一个分支,这就是QEMU仿真器的实现方式。

QEMU本身确实支持TUN/TAP bridging,但我从来没有能够得到它与Android模拟器的工作。如果你想走这条路线,你可能想要在QEMU模拟器中调查运行的Android,而不是在SDK的模拟器中(我发现你已经在尝试与VirtualBox类似的方法)。

不幸的是,测试Android中的对等网络程序的最好方法是使用物理设备,除非您的应用程序能够满足端口转发方法。

另请参见:Issue 26:Emulated Androids should be able to communicate via TCPGoogle

1

(重复此my answer elsewhere

从理论上讲,Linux操作系统(内核底层Android)将有mac80211_hwsim驱动程序,它模拟无线网络。它可以用来设置几个WiFi设备(一个接入点,另一个WiFi设备等等),它们将组成一个WiFi网络。

这对测试linux下的WiFi程序很有用。可能,即使在user-mode linux或其他孤立的虚拟“盒子”与Linux。

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

+0

因此无论如何,@imz ...你有没有尝试过它也运行在这个WiFi案例的模拟器? – gumuruh 2014-05-20 15:12:39

相关问题