web-dev-qa-db-ja.com

Androidシミュレーターで低速ネットワークをシミュレート

ネットワーク操作(Google翻訳)を実行しているときにAsyncTaskを使用してプログレスバーを表示するアプリを作成しています。ただし、問題は、ネットワークが速すぎるために動作しているかどうかがわからず、開始するとすぐに操作の実行が終了することです。だから、遅いネットワークをシミュレートして、操作の完了を待っているときにプログレスバーが実際に実行されるかどうかを確認できる方法はありますか? Androidエミュレーターを作成するときにネットワークオプションに出くわしました。ただし、ネットワーク接続が遅いことを示すものを理解するのに苦労するほど多くの略語があり、それがどのようになっているのかまだわかりません低速のネットワーク接続を設定する必要があります。

前もって感謝します!

17
Charles Li

エミュレータを使用すると、さまざまなネットワーク状態をシミュレートできます。さまざまなネットワークプロトコルのネットワーク速度を概算することも、コンピューターが許可する速度でデータを転送するFullを指定することもできます。

ネットワークプロトコルの指定は、常にFullよりも遅くなります。ローミングなど、音声およびデータネットワークのステータスを指定することもできます。デフォルトはAVDに設定されています。

ネットワークタイプを選択します。

  • GSM-移動体通信のグローバルシステム
  • HSCSD-高速回線交換データ
  • GPRS-汎用パケット無線サービス
  • エッジ-GSM Evolutionの拡張データレート
  • UMTS-ユニバーサルモバイルテレコミュニケーションシステム
  • HSPDA-高速ダウンリンクパケットアクセス
  • 完全(デフォルト)

GPRS(114Kbps)<EGDE(368Kbps)<3G(3.1Mbps)<HSDPA(14Mbps)<HSPA +(168Mbps)<4G/LTE(299.6Mbps)

音声ステータス、データステータス、またはその両方を選択します。

  • ホーム(デフォルト)
  • ローミング
  • 検索中
  • 拒否(緊急コールのみ)
  • 未登録(オフ)

詳細については、 https://developer.Android.com/studio/run/emulator.html#extended を参照してください

32

OS Xでは、非常に便利なNetwork Link Conditionerを使用できます。以下に、使用方法とインストール方法のリンクを示します。ネットワークを使用するすべてのプログラムに影響します。

http://nshipster.com/network-link-conditioner/enter image description here

また、すべてのトラフィックをプロキシに送信し、スロットルを使用できます。使用したのはCharles(商用、30日間の無料トライアル) https://www.charlesproxy.com/

3
Anessence

コマンドラインでtelnetを使用すると、エミュレータに接続してデバイスのネットワーク速度を変更できます。

telnet localhost <<port of device>>
network speed <<network speed, ex: Edge, full>>

エミュレータのウィンドウの上部からデバイスのポートを取得できます。

Android docs here の任意の速度を使用できます。 Idは、低速の場合にEdgeを推奨します

Windowsを使用している場合、Telnetをセットアップする必要があります。そのための指示は this SO post で見つけることができます。

2
Dr. Nitpick