2012-03-13 10 views
22

Próbuję opracować aplikację typu peer to peer w Androidzie (4. +). Problem w tym, jak to przetestować.jak uruchomić aplikację sieci równorzędnej dla rówieśników w emulatorze androida ..?

Próbowałem uruchomić tę aplikację w emulatorze android. nie było opcji, aby skonfigurować wifi w menu ustawień, również zmęczony, aby umożliwić korzystanie z Wi-Fi za pomocą narzędzia do tworzenia aplikacji z emulatora, ale to nie zadziałało, I przez całe moje szukanie w Google przez 3 dni i stwierdziłem, że emulator Androida nie jest obsługiwany Wifi.

Więc zdecydowałem się na androida86 4.0eeepc za pomocą wirtualnego pudełka i zmęczony, aby dodać urządzenia zarówno wifi i bluetooth (moja aplikacja wykorzystuje zarówno bluetooth i wifi), ale tylko urządzenie bluetooth zostało dodane i nie działa. Ale moje wirtualne pudełko wykryło urządzenia wifi i bluetooth. Po prostu nie mogłem zmusić ich do pracy z maszyną wirtualną.

Próbowałem wszystkiego, jak ręcznie dodawać adresy przy użyciu aplikacji emulatora terminala w systemie androidx86 i używać netcfg przez komendę android, ale żadna z nich nie działała.

Proszę sugerować i prowadzić mnie na właściwej ścieżce do uruchamiania tego rodzaju aplikacji, które używają wifi i bluetooth w systemie Android.

Z góry dziękuję.

+1

Chciałbym o tym również wiedzieć. Jeśli masz odpowiedź na inne pytanie, proszę zaktualizuj tutaj, aby udostępnić. Rozwijamy się za pomocą bezpośredniego interfejsu API Wi-Fi v4.0 i skończymy kupować kilka Galaxy Nexus do testowania. – Calvin

+0

Czy włączono Wi-Fi Direct w ustawieniach Androida dla dwóch instancji VirtualBox? Ustawienia -> Bezprzewodowe i sieci -> Więcej ... -> Wi-Fi direct – TryTryAgain

+0

Rzeczywiście ... znalazłem też z YouTube, że działa dobrze. Nie wiem, dlaczego/co za różnica ... https://www.youtube.com/watch?v=Mngdn0Be5g4 – gumuruh

Odpowiedz

6

Po pierwsze, upewnij się, że włączone Wi-Fi Direct w ustawieniach Androida dla dwóch przypadków: VirtualBox

Ustawienia -> Wireless & Networks -> Więcej ... -> Wi-Fi Direct

Minęło stated as working kiedyś, że przeszkoda została pokonana, i jestem pewien, że wielu doświadczyło samo ... tylko pamiętaj, aby włączyć Wi-Fi Direct

bym spróbował dokładnie to, co już wypróbowany przez naturalnie przejście z emulatora na androidx86 projekt. Chociaż jest to niewiarygodne, zaleciłbym przeglądanie i finalizowanie tego, jeśli jeszcze go nie widziałeś: Android: Simulate WiFi in the emulator? i How to disable/enable network, switch to Wifi in Android emulator? najprawdopodobniej nie zakończyłoby się pełnym sukcesem, ale może wystarczyć, aby poinformować Cię, że działa lub zadziała.

miarę testowania WiFi-Direct/WiFiP2P bez sam posiadające urządzenie/s, polecam:

  • Starając się niektóre fiddling jak wspomniano powyżej. I przeczytaj mnóstwo dzienników.
  • Zawsze możesz tłumaczyć go znajomym lub wypuścić apk na forum dla małej grupy testerów.

Oczywiście obie opcje nie są idealne, bezproblemowe lub szybkie. Tak, zdecydowanie nadzieję dostać VirtualBox VM z Android-x86 4.0 działa jak należy raz sprawdzić, czy ustawienie i powiązać się Wifi AP :-)

+0

hmm .... Wygląda na to, że nie jesteście również "po prostu spróbuj emulować Wifi w emulatorze" strony, a nie "po prostu kup prawdziwe urządzenie", @TryTryAgain. – gumuruh

4

Sytuacja bliska przyszłość rozwiązanie:

To może być coś zaglądać w najbliższą przyszłość. Prawdziwe urządzenia są hostowane przez firmę Samsung, a ekrany są przesyłane strumieniowo do komputera.

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

Według email odpowiedział przez Samsunga, który wysłałem do nich wcześniej. W tej chwili mają tylko 2 urządzenia (Galaxy Nexus) działające na systemie Android w wersji 4.0. Niestety, nie są fizycznie blisko siebie. (Jeden w Korei, Jeden w Polsce)

Ale planują modernizację istniejącej wersji Galaxy S2 do wersji 4.0. Ponieważ niedawno Samsung wydał upgrade v4.0 dla S2. Po wykonaniu tej czynności będzie wiele telefonów v4.0.

Możesz zapytać, które 2 telefony są fizycznie blisko, aby móc przetestować Wi-Fi Direct.

--------------------------- EDYCJA ----------------- ----------------

Istnieje wiele urządzeń ICS teraz, które można przetestować P2P. Sprawdź, z którymi 2 fizycznie są blisko siebie.

3

Per docs:

Każda instancja emulatora biegnie za wirtualnego routera/zapory usługi, która izoluje go od sieci jednym komputerze za interfejsów i ustawień oraz z internetu.

Musisz użyć przekierowania sieciowego, jako described in the Developer Docs. Zasadniczo, przesyłasz określone porty za pomocą ADB. Dlatego nie można przetestować pewnych rzeczy, takich jak wiadomości rozgłoszeniowe.

Próbowałem robić to, co próbujesz zrobić, i - podczas gdy nie powiem, że to niemożliwe (wszystko jest możliwe w obliczeniach z wystarczającą ilością czasu, pieniędzy i wytrwałości) - zmarnowałem dużo czasu na tym. Nie możesz traktować emulatora Androida jako normalnego urządzenia peer-to-peer. O ile udało mi się znaleźć, jest to widelec QEMU, i tak właśnie zaimplementowano emulator QEMU.

Sam QEMU obsługuje, obsługując TUN/TAP bridging, ale nigdy nie udało mi się uzyskać jego pracy z emulatorem Androida. Jeśli chcesz iść tą drogą, możesz zbadać działanie Androida w emulatorze QEMU, zamiast emulatora SDK (widzę, że już próbujesz podobnego podejścia z VirtualBox).

Niestety najlepszym sposobem na przetestowanie programu sieciowego peer-to-peer w systemie Android jest obecnie korzystanie z urządzeń fizycznych - chyba że aplikacja jest wystarczająca w przypadku metody przekierowania portów.

Zobacz także: Issue 26:Emulated Androids should be able to communicate via TCP i Google

1

(. Powtarzanie tutaj my answer elsewhere)

Teoretycznie Linux (jądro bazowego android) ma mac80211_hwsim kierowcę, który symuluje WiFi. Można go użyć do skonfigurowania kilku urządzeń WiFi (punktu dostępowego i innego urządzenia WiFi itd.), Które tworzą sieć Wi-Fi.

Przydaje się do testowania programów WiFi pod Linuksem. Być może nawet pod user-mode linux lub innymi odizolowanymi wirtualnymi "skrzynkami" z linuxem.

Teoretycznie ten sterownik może być używany do testów w systemach Android, w których nie masz prawdziwego urządzenia Wi-Fi (lub nie chcesz go używać), a także w niektórych emulatorach Androida.Być może można użyć tego sterownika w systemie Android-x86 lub - do testowania - w systemie Android-x86 uruchomionym w VirtualBox.

+0

więc tak, @imz ... czy wypróbowałeś go również działając na emulatorze dla tej obudowy WiFi? – gumuruh

Powiązane problemy