web-dev-qa-db-ja.com

AVD(エミュレーター)をオフラインモードにする方法は?

ユーザーが無信号ゾーンにいるとき、または電話が機内モードにあるときのアプリケーションの動作をテストしたいと思います。

-> Android仮想デバイスをオフラインモードにする(インターネットに接続できない場合)?

私は以下を試しました:

  • AVD設定による機内モードのアクティブ化:驚くべきことに、これは機能しません(機内モードでもインターネットの閲覧は可能です!)

  • PCでネットワーク接続を無効にする:これは明らかに機能しますが、アプリをテストするときにインターネットが必要なため、満足のいくものではありません。

28
Sébastien

私はすべて同じ問題を見ています。 DDMSはそれを完全に殺しません。 F8もそうではありません。また、エミュレーター内で機内モードをオンにすることもありません。私たちはおそらくスターを付ける必要があります この問題 誰かが2009年にログインしました。

14
James Koch

私は実用的な解決策を見つけました。 Android 6.0 7.0エミュレーターでテスト済みですが、他のエミュレーターでも動作するはずです。

ネットワークダウン:

adb Shell ifconfig eth0 down

ネットワークアップ:

adb Shell ifconfig eth0 up

「Permissiondenied」エラーが発生した場合は、rootとしてadbデーモンを再起動します。

adb root

そしてさらに試みる。

6
noamtm

エミュレータウィンドウでF8キーを押すだけで、次のようにセルネットワークがオフになります: http://developer.Android.com/guide/developing/tools/emulator.html 。しかし、私はそれをテストしました、そしてそれも機能していません!インターネットに接続されていないというメッセージだけがありますが、実際には機能します...

3
Jercik

ウィンドウメニューに移動し、「パースペクティブを開く」->「その他」を選択してDDMSパースペクティブを開くだけです。 DDMSパースペクティブ内には、遅延、ローミングを調整できる「エミュレーター制御」ビューがあり、さまざまな電話とデータの状態を与えることができます。したがって、この手順に従ってエミュレータービューを取得するには、[データ]ドロップダウンに移動し、[拒否]オプションを選択します。

2
Nick Vallely

Androidエミュレーター(あまりうまく機能しません))で機内モードを使用する代わりに、テスト中にシステムへのネットワーク接続をオフにします。つまり、イーサネット接続またはWi-Fiを切り替えます。 。私にとってはうまくいきました。

2
diptia

音声とデータを「拒否」ではなく「未登録」に調整すると、「エミュレータ制御」ビューで機能することがわかりました。これで、この回答を投稿できるうちに、ようやくネットワーク用にAVDをオフラインにしました。

2
Lenciel

@Marco C.からの回答が機能していることがわかりましたが、AVD設定でもこれを非常に簡単に実行できることがわかりました。

サイドバーで、一番下にあるトリプルドットアイコンをクリックします。

enter image description here

次に、次の画像に示すように、携帯電話の設定である「信号強度」と「データステータス」をそれぞれ「なし」と「拒否」に調整します。

enter image description here

0
lance.dolan

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)でも同じです。

しかし、おそらくそれは誰かのために使用可能です...

0

古い質問ですが、解決策を見つけました:

  1. コマンドラインを開きます:CTRL + R> cmd
  2. Android toolsフォルダーに変更します

    cd C:\Program Files\Android\android-sdk\tools

  3. 偽のDNSサーバーを使用してエミュレーターを実行します。変化する 2.3.3あなたのAVDの名前に。 @はそれを開始します:

    emulator.exe @2.3.3 -dns-server 127.0.0.1

その他のコマンドについては、マニュアルを確認してください ラインオプション

0
PiTheNumber

最後に、このアプローチはどうですか。

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でテスト済み。

0
class stacker