ユーザーが無信号ゾーンにいるとき、または電話が機内モードにあるときのアプリケーションの動作をテストしたいと思います。
-> Android仮想デバイスをオフラインモードにする(インターネットに接続できない場合)?
私は以下を試しました:
AVD設定による機内モードのアクティブ化:驚くべきことに、これは機能しません(機内モードでもインターネットの閲覧は可能です!)
PCでネットワーク接続を無効にする:これは明らかに機能しますが、アプリをテストするときにインターネットが必要なため、満足のいくものではありません。
私はすべて同じ問題を見ています。 DDMSはそれを完全に殺しません。 F8もそうではありません。また、エミュレーター内で機内モードをオンにすることもありません。私たちはおそらくスターを付ける必要があります この問題 誰かが2009年にログインしました。
私は実用的な解決策を見つけました。 Android 6.0 7.0エミュレーターでテスト済みですが、他のエミュレーターでも動作するはずです。
ネットワークダウン:
adb Shell ifconfig eth0 down
ネットワークアップ:
adb Shell ifconfig eth0 up
「Permissiondenied」エラーが発生した場合は、rootとしてadbデーモンを再起動します。
adb root
そしてさらに試みる。
エミュレータウィンドウでF8キーを押すだけで、次のようにセルネットワークがオフになります: http://developer.Android.com/guide/developing/tools/emulator.html 。しかし、私はそれをテストしました、そしてそれも機能していません!インターネットに接続されていないというメッセージだけがありますが、実際には機能します...
ウィンドウメニューに移動し、「パースペクティブを開く」->「その他」を選択してDDMSパースペクティブを開くだけです。 DDMSパースペクティブ内には、遅延、ローミングを調整できる「エミュレーター制御」ビューがあり、さまざまな電話とデータの状態を与えることができます。したがって、この手順に従ってエミュレータービューを取得するには、[データ]ドロップダウンに移動し、[拒否]オプションを選択します。
Androidエミュレーター(あまりうまく機能しません))で機内モードを使用する代わりに、テスト中にシステムへのネットワーク接続をオフにします。つまり、イーサネット接続またはWi-Fiを切り替えます。 。私にとってはうまくいきました。
音声とデータを「拒否」ではなく「未登録」に調整すると、「エミュレータ制御」ビューで機能することがわかりました。これで、この回答を投稿できるうちに、ようやくネットワーク用にAVDをオフラインにしました。
James Kochが言及した問題についてのコメントの1つは、回避策があると述べています。
コメント15by iscy%inv ... @ gtempaccount.com、2011年7月8日 この問題の回避策がついに見つかりました: telnet localhost 5554 //エミュレーター qemumonitor // QEmu機能を入力 infonetwork //ネットワークアダプターを一覧表示する "user.0"は通常名前です set_linkuser.0 down //シャットダウンネットワークダウン set_link user.0 up //ネットワークを再度有効にする
だが:
コメント16by leonhard ... @ gmail.com、2011年9月6日 この回避策は、MacOS10.7.1およびSDKrev 12(プラットフォーム2.2、2.1)では機能しません。および2.3.3) ... ... qemuモニター KO:内部エラー:コンソールから切り離せませんでした!
-> Windows Vista、SDK rev 19、プラットフォーム10(2.3.3)でも同じです。
しかし、おそらくそれは誰かのために使用可能です...
古い質問ですが、解決策を見つけました:
cmd
Android toolsフォルダーに変更します
cd C:\Program Files\Android\android-sdk\tools
偽のDNSサーバーを使用してエミュレーターを実行します。変化する 2.3.3
あなたのAVDの名前に。 @はそれを開始します:
emulator.exe @2.3.3 -dns-server 127.0.0.1
その他のコマンドについては、マニュアルを確認してください ラインオプション 。
最後に、このアプローチはどうですか。
Android-sdks/tools/emulator -avd [AVD name goes here] -qemu -net nic,vlan=0 -Net User,vlan=1
実際、これはトリックです。次の方法でエミュレータがクラッシュするからです。
Android-sdks/tools/emulator -avd [AVD name goes here] -qemu -net none
DebianでAndroidエミュレータV21.0でテスト済み。