256

ネットワーク接続が低い場合にアプリケーションをテストしたいと考えています。エレベーターに立つ以外に、これを行う最善の方法は何ですか? 携帯電話をアルミホイルで包んでみましたが、あまり役に立ちませんでした。

エミュレーターではなく、実際のデバイスでテストする必要があります。

4

27 に答える 27

298

これは少しクレイジーに聞こえるかもしれませんが、電子レンジはマイクロ波シールドとして機能します。したがって、デバイスを電子レンジの中に入れると (デバイスが中にある間は電子レンジの電源を入れないでください!)、信号強度が大幅に低下します。エレベーターの中に立っているのは間違いなく勝っています...

于 2011-12-25T16:16:05.577 に答える
131

これにはエミュレーターを使用できます。このページを見てください: Android Emulator . 次の 2 つの引数に注意してください。

  1. -netdelay <delay>

    ネットワーク遅延エミュレーションを に設定します。デフォルト値はなしです。サポートされている値については、ネットワーク遅延エミュレーションの表を参照してください。

  2. -netspeed <speed>

    ネットワーク速度エミュレーションを に設定します。デフォルト値はフルです。サポートされている値については、ネットワーク速度エミュレーションの表を参照してください。

    増加する kbps での参照用の速度:

                            UP       DOWN
                      -------- ----------
    gsm   GSM/CSD         14.4       14.4
    hscsd HSCSD           14.4       57.6
    gprs  GPRS            28.8       57.6
    umts  UMTS/3G        384.0      384.0
    edge  EDGE/EGPRS     473.6      473.6
    hsdpa HSDPA         5760.0   13,980.0
    lte   LTE         58,000.0  173,000.0
    evdo  EVDO        75,000.0  280,000.0
    full  No limit           ∞          ∞
    
于 2011-08-11T13:03:00.507 に答える
80

Android Studio v 1.5 以降の更新
@LouMorda が以下のコメントで述べたEmulatorように、元の投稿で言及されたタブは Android Studio v 1.5 で削除されました。

これで、これらの設定が の Simulator Settings に配置されましたAVD Manager
これらの設定にアクセスするには:

  1. 選択するTools -> Android -> AVD Manager
  2. Edit AVDボタン(鉛筆アイコン)をクリックします
  3. ボタンをクリックするNetwork SettingsとアクセスできますShow Advanced Settings

これがどのように表示されるかのスクリーンショットです。
Android Studio v 1.5 のネットワーク速度とレイテンシの設定

元の投稿
Android Studio IDE を使用している方へ:

  1. に行くRun -> Edit Configurations
  2. 選択するAndroid Application -> [Your App]
  3. Emulatorタブを選択
  4. Network Speedここでは、 (インターネット速度) と(遅延)のさまざまな値を変更Network Latencyして、さまざまな速度や遅延などをシミュレートできます。

Additional command line optionsまたは、 @inazaruk の回答に記載されているように、テキスト フィールドにさまざまな引数を入力することもできます。

以下のスクリーンショットは、このRun Configuration画面がどのように見えるかを示しています。

Android Studio beta 0.8.6 の実行構成画面

この質問への回答が少し遅れていることは承知していますが、これが同様の問題に直面している他の人に役立つことを願っています!

編集
日食を使用している人は、以下の@Abhiの回答を参照してください。

于 2014-09-01T11:08:59.540 に答える
57

私はそれが古い質問であることを知っていますが...

最近の一部の電話には、2G のみを使用する設定があります。実際のデバイスで遅いインターネットをシミュレートするのに最適です。

ここに画像の説明を入力

于 2015-03-19T08:42:59.817 に答える
35

何年も経ちますが、Genymotion を使った誰にでもできる方法を試してみます。

  • Charles の無料試用版をダウンロード: http://www.charlesproxy.com/download/

  • インストールする

  • クリックProxy -> Throttle Settings

  • HTTP スロットル速度を設定する

  • そのウィンドウを閉じます

  • クリックProxy -> Throttlingしてスロットルを有効にします

  • Genymotion エミュレーターを開く

  • Wi-Fi設定を開く

  • 有効な Wi-Fi 接続を長押しします

  • クリックModify Network

  • クリックShow Advanced Options

  • Proxyに設定Manual

  • Proxy hostnameに設定10.0.3.2

  • Portに設定8888

  • クリックSave

そして今、あなたのネットワークは抑制されます!

于 2015-05-04T23:12:50.913 に答える
9

見落とされているように見える実際のデバイスで低速をテストする簡単な方法があります。Mac とイーサネット (またはその他の有線) ネットワーク接続が必要です。

Mac で Wifi 共有をオンにして、コンピューターを Wifi ホットスポットに変え、デバイスをこれに接続します。速度を制御するには、Netlimiter/Charles Proxy または Network Link Conditioner (既にインストールされている場合があります) を使用します。

詳細と、チェックアウト時にテストする必要がある速度の種類を理解するには、http: //opensignal.com/blog/2016/02/05/go-slow-how-why-to-test-apps-on-poorを参照してください。 -接続/

于 2016-02-06T17:44:26.973 に答える
8

エミュレーターで接続が低い/悪い状態でアプリケーションをテストする簡単な方法:

[実行] > [実行構成] に移動し、 Android アプリケーションを選択して、[ターゲット] タブに移動します。Emulator launch parameters を見てください。ここでは、ネットワーク速度とネットワーク遅延を簡単に変更できます。

于 2013-08-08T13:27:12.157 に答える
6

Facebook は、Augmented Traffic Controlと呼ばれるものを構築しました。彼らの GitHub ページからの簡単な要約:

Augmented Traffic Control (ATC) は、ネットワークの状態をシミュレートするツールです。デバイスのインターネットへの接続を制御できます。開発者は ATC を使用して、さまざまなネットワーク条件でアプリケーションをテストし、高速ネットワーク、モバイル ネットワーク、さらには深刻な障害のあるネットワークを簡単にエミュレートできます。制御できる接続の側面には、次のものがあります。

  • 帯域幅
  • レイテンシー
  • パケットロス
  • 破損したパケット
  • パケットの順序付け

ネットワーク トラフィックをシェーピングできるようにするには、ネットワーク ゲートウェイなど、トラフィックをルーティングし、デバイスの実際の IP アドレスを確認するデバイス上で ATC を実行する必要があります。これにより、ATC を介してルーティングするすべてのデバイスがトラフィックをシェーピングできるようになります。Web インターフェイスを使用してトラフィックをシェーピング/アンシェーピングできるため、Web ブラウザーを備えたデバイスはクライアント アプリケーションを必要とせずに ATC を使用できます。

GitHub で見つけることができます: https://github.com/facebook/augmented-traffic-control

彼らはそれについてのブログ投稿も書いています: https://code.facebook.com/posts/1561127100804165/augmented-traffic-control-a-tool-to-simulate-network-conditions/

于 2016-11-08T13:41:58.273 に答える
6

または、実際のデバイスでは、[設定] -> [モバイル ネットワーク] -> [優先するネットワーク タイプ] に移動して、利用可能な最も遅いネットワーク タイプを選択できます。

于 2014-09-25T10:32:38.167 に答える
4

Android スタジオ AVD の更新:

  1. AVDマネージャーを開く
  2. AVD の作成/編集
  3. 詳細設定をクリックします
  4. お好みの接続設定を選択してください

電子レンジやエレベーターはありません:)

于 2015-06-18T08:13:41.347 に答える
2

私はこの問題に半日苦労していましたが、最終的にこの解決策にたどり着きました:

  • 実際のデバイスでのテストは、機能させるために多くのことを行わなければならないため、全体としてあまり意味がありません。実際のテストを行う唯一の論理的な方法は、電話会社が提供している場合、EDGE などの低品質のセルラー ネットワークに電話を接続することです。*#*#4636#*#*電話アプリでダイヤルすることで、これを行うことができます

  • 元の Android エミュレーターはテストするには遅すぎて、上記の解決策以上のものを達成できません。

これを行う最善の方法は、Genymotionを使用することです。これは、元の AVD よりもはるかに優れたパフォーマンスを備えた Android エミュレーターであり、個人用のバージョンは無料です。

Genymotion エミュレーター

Genymotion で仮想デバイスを作成したら、このチュートリアルに従って、デバイスのプロキシを設定します。

CrapifyToxiproxy (私は前者のみをテストしました) のような悪いネットワーク条件をシミュレートするプロキシ サーバーをホスト マシンで実行すると、準備完了です。

アップデート:

実際のデバイスでもまったく同じ戦略を選択できることに気付きました。早く気が付かないなんてバカみたい。コンピューターで Crapify プロキシを起動し、電話のプロキシをコンピューターのローカル アドレスに設定するだけで、電話でインターネットが不安定になります。

于 2016-08-23T06:17:23.373 に答える
1

netlimiter4 が、エミュレーターへのデータの調整に最適なソリューションであることがわかりました。まともな GUI を介してきめ細かい制御を提供し、各プロセスへのデータ スループットに関するグラフィカルなフィードバックを提供します。現在、無料のベータ版です。 スクリーンショット

http://www.netlimiter.com/products/nl4

Play ストアには、実際のデバイスにスロットルするためのアプリがありますが、root が必要です (あったとしても、うまく機能するかどうかについてのアドバイスはできません - YMMV.)。

Play ストアで bradybound を検索すると、複数のリンクを投稿できません..

于 2015-12-15T18:41:44.693 に答える
1

ネットワーク接続がないか、ネットワーク接続が遅いかをテストしますか? 前者の場合は、Settings > Wireless & networks > Airplane mode機内モードに移動してオンにすることができます。これにより、実際のデバイスでネットワークが利用できないことをテストできます。

于 2011-09-23T15:45:49.033 に答える
1

これを試しましたか?設定 - ネットワーク - 詳細 - モバイル ネットワーク - ネットワーク モード - 優先ネットワーク (2G など) を選択します。

私が使用した別の方法は上記で言及されました。iPhone ホットスポット経由で接続します。お役に立てれば。

于 2018-03-27T10:57:04.647 に答える
1

AndroidTV ネイティブ デバイスで低インターネットを抑制する必要がありました。読んだ内容に基づいて、最も適切な解決策は、ルーターで直接インターネット アクセスを制限することでした。
ルーター設定に移動します (ローカルでは 192.168.0.1 のようなものです) -> DHCP サーバーをセットアップします (実行されていない場合) -> デバイスの IP アドレスを選択し、制限を設定します。

于 2020-03-16T14:09:41.707 に答える
1

@VicVu Charles (またはその他のプロキシ ツール) で提案されているように、より簡単な方法です。ただし、genymotion や他のエミュレータだけでなく、デバイスでもこれを実行できることを付け加えておきます。プロセスは同じです。

デバイス/エミュレーターの Wi-Fi 設定を変更して、手動プロキシを使用します。そして、プロキシのホスト名とポートを設定します ホスト名をシステムの IP として設定します (ifconfig/ifconfig を使用して PC/Mac の IP を取得します)。genymotionのポート番号を設定します(charlesのプロキシ設定を確認してください)

PS:使用している IP はプライベート IP である可能性が高いため、デバイス/エミュレーターは同じ Wi-Fi を使用している必要があります。

于 2015-07-03T07:26:09.070 に答える