2012-03-13 70 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

相關問題