33

デバイスに WiFi 接続があるかどうかをアプリから確認したいのですが、そのためには、まずエミュレーターで "WiFi" を取得する方法を見つける必要があります。[設定] -> [ワイヤレス コントロール] -> [Wifi]に移動すると、 Unable to start Wi-Fiと表示されますが、次のように表示されlogcatます。

E/WifiService(  566): Failed to load Wi-Fi driver.
D/SettingsWifiEnabler(  695): Received wifi state changed from Unknown to Enabling
D/SettingsWifiEnabler(  695): Received wifi state changed from Enabling to Unknown

エミュレーターで WiFi 接続をシミュレートするにはどうすればよいですか?

4

6 に答える 6

20

現在、エミュレーターでコンピューターのインターネット接続を使用できますが、Wi-Fi をシミュレートするために使用することは信頼できません。WifiManager接続状態を切り替えたりテストしたりすると、混乱します。

Android 1.5 でもいくつか問題がありました ( Issue 2571 - android )。インターネットを使用して HTTP 接続をシミュレートし、データをダウンロードすることはできますが、Wi-Fi 接続をより細かく制御するには、デバイスを使用する必要があります。

于 2009-10-14T09:04:46.327 に答える
9

これはよくある質問のようですので、最新の回答を追加します。SDK はまだ WiFi エミュレーションをサポートしていませんが、Genymotionはデフォルトで WiFi をサポートしているため、それを使用して特定の WiFi 機能を備えたアプリを開発/テストできます。

于 2014-12-13T21:27:00.203 に答える
4

実際のデバイスをお持ちでない場合は、android-x86をインストールするか、ライブUSBで使用するのが最善の方法だと思います。androidとandroid-x86の間に違いはありません。

そしてandroid-x86はwi-fiをサポートします。そのため、アプリをインストールして実行できます。

于 2012-01-07T11:47:13.353 に答える
4

理論的には、Linux (Android の基礎となるカーネル) にはWiFi をシミュレートするmac80211_hwsimドライバーがあります。これを使用して、WiFi ネットワークを構成する複数の WiFi デバイス (アクセス ポイント、別の WiFi デバイスなど) をセットアップできます。

Linux で WiFi プログラムをテストするのに便利です。おそらく、ユーザーモードのLinuxまたはLinuxを使用した他の分離された仮想「ボックス」の下でも。

理論的には、このドライバーは、実際の WiFi デバイスを持っていない (または使用したくない) Android システムや、ある種の Android エミュレーターでのテストに使用できます。おそらく、このドライバーをandroid-x86で使用するか、テストのためにVirtualBoxで実行されるandroid-x86で使用することができます。

于 2012-05-06T01:34:16.787 に答える