2012-03-13 31 views
22

Estoy tratando de desarrollar una aplicación WiFi peer to peer en android (4. +). El problema aquí es cómo probarlo.cómo ejecutar wifi aplicación peer to peer en el emulador de Android ..?

Intenté ejecutar esa aplicación en el emulador de Android. no había ninguna opción para configurar wifi en el menú de configuración, también me cansé de habilitar wifi usando la aplicación de herramientas de desarrollo del emulador pero no funcionó, y a través de mis búsquedas en Google durante 3 días y encontré que el emulador de Android no es compatible el wifi

Así que opté por androidx86 4.0eeepc usando la caja virtual y cansado de agregar dispositivos tanto wifi como bluetooth (mi aplicación usa tanto bluetooth como wifi) pero solo se agregó el dispositivo bluetooth y no funcionó. Pero mi caja virtual detectó los dispositivos wifi y bluetooth. Simplemente no pude hacer que funcionen con la máquina virtual.

Intenté todo, como agregar manualmente las direcciones usando la aplicación emulador de terminal en androidx86 y usé netcfg a través de la línea de comandos de Android, pero ninguna de ellas funcionó.

Por favor sugiérame y guíame en la ruta correcta para ejecutar este tipo de aplicaciones que usan wifi y bluetooth en Android.

Gracias de antemano.

+1

Me gustaría saber sobre esto también. Si tiene otra respuesta, actualice aquí para compartirla. Desarrollamos usando v4.0 wifi api directo y terminamos comprando algunos Galaxy Nexus para probar. – Calvin

+0

¿Ha habilitado WiFi Direct en la configuración de Android para las dos instancias de virtualbox? Configuración -> Conexiones inalámbricas y redes -> Más ... -> Wi-Fi Direct – TryTryAgain

+0

De hecho ... también encontré desde youtube el wifi está funcionando bien. No estoy seguro de por qué/cuál es la diferencia con los suyos ... https://www.youtube.com/watch?v=Mngdn0Be5g4 – gumuruh

Respuesta

6

En primer lugar, asegúrese de habilitar Wi-Fi Direct en la configuración de Android para los casos de dos virtualbox:

Ajustes -> Wireless Networks & -> Más ... -> Wi-Fi directa

ha sido stated as working una vez que ese obstáculo fue superado, y estoy seguro de que muchos han experimentado el mismo ... sólo asegúrese de permitir wifi directa

habría tratado exactamente lo que ya se ha tratado de forma natural por pasar del emulador al androidx86 proyecto. Aunque no es confiable, recomiendo mirar y engañar esto, si aún no lo ha visto: Android: Simulate WiFi in the emulator? y How to disable/enable network, switch to Wifi in Android emulator? lo más probable es que no tenga éxito completo, pero puede ser suficiente para hacerle saber que funciona o que funcionaría.

En cuanto a las pruebas de WiFi-Direct/WiFiP2P sin que el tener un dispositivo/s, recomendaría:

  • Probando algunos de los tocar el violín como se mencionó anteriormente. Y lea a través de toneladas de registros.
  • Siempre puedes compartir fuentes para tus amigos, o lanzar una aplicación en un foro para un pequeño grupo de probadores.

Por supuesto, ambas opciones no son ideales, integradas o rápidas. Así que, sin duda espero que te VirtualBox VM de Android-x86 4.0 funcionando como debe, una vez que comprobar que el ajuste y emparejar los puntos de acceso WiFi :-)

+0

hmm .... Parece que usted tampoco está en "simplemente intente emular Wifi en el emulador" lado en lugar de "solo comprar el dispositivo real", @TryTryAgain. – gumuruh

4

Una solución futuro cercano:

Esto podría ser algo a mira en el futuro cercano. Los dispositivos reales son alojados por Samsung y las pantallas se transmiten a su PC.

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

Según un correo electrónico respondido por Samsung, que les envié anteriormente. Solo tienen 2 dispositivos (Galaxy Nexus) con Android v4.0 por el momento. Lamentablemente, no están físicamente cerca uno del otro. (Uno en Corea, uno en Polonia)

Pero están planeando actualizar el Galaxy S2 existente a v4.0. Porque recientemente Samsung lanzó la actualización v4.0 para S2. Una vez que lo hayan hecho, habrá muchos teléfonos v4.0.

Y puede preguntarles qué 2 teléfonos están físicamente cerca para que pueda probar Wifi Direct.

--------------------------- EDIT ----------------- ----------------

Hay muchos dispositivos ICS allí, que pueden probar P2P. Verifique con ellos cuáles son 2 físicamente cercanos entre sí.

3

por la docs:

Cada instancia del emulador corre detrás de un servicio virtual router/firewall que lo aísla de la red interfaces y los ajustes de la máquina de desarrollo y de Internet.

Debes usar Network Redirection, como described in the Developer Docs. Básicamente, reenvía puertos específicos utilizando ADB. Por lo tanto, no puede probar ciertas cosas, como los mensajes de difusión.

He intentado hacer lo que estás tratando de hacer, y-- aunque no diré que es imposible (todo es posible en informática con tiempo, dinero y persistencia suficientes) - Perdí mucho tiempo en eso. No puede tratar el emulador de Android como un dispositivo peer-to-peer de red normal. Hasta donde he podido encontrar, es una bifurcación de QEMU, y así es como se implementa el emulador QEMU.

QEMU en sí hace compatibilidad con TUN/TAP bridging, pero nunca pude conseguir que funcione con el emulador de Android. Si desea seguir esa ruta, puede investigar la ejecución de Android en el emulador QEMU, en lugar de en el emulador del SDK (veo que ya está intentando un enfoque similar con VirtualBox).

Desafortunadamente, la mejor manera de probar un programa de red punto a punto en Android es con dispositivos físicos en este momento, a menos que su aplicación sea suficiente con el método de reenvío de puertos.

Ver también: Issue 26:Emulated Androids should be able to communicate via TCP y Google

1

(. Repitiendo aquí my answer elsewhere)

En teoría, Linux (kernel Android subyacente) tiene mac80211_hwsim conductor, que simula WiFi. Se puede usar para configurar varios dispositivos WiFi (un punto de acceso y otro dispositivo WiFi, etc.) que constituirían una red WiFi.

Es útil para probar programas WiFi en Linux. Posiblemente, incluso bajo user-mode linux u otras "cajas" virtuales aisladas con Linux.

En teoría, este controlador podría usarse para pruebas en los sistemas Android donde no tiene un dispositivo WiFi real (o no quiere usarlo), y también en algún tipo de emulador de Android.Quizás, uno puede administrar el uso de este controlador en android-x86, o - para probar - en android-x86 ejecutarse en VirtualBox.

+0

así que de todos modos, @imz ... ¿lo has probado también con un emulador para esta funda wifi? – gumuruh

Cuestiones relacionadas