283 votes

Simuler une faible connectivité réseau pour Android

Je voudrais tester mon application pour les cas de faible connectivité réseau. À part rester debout dans l'ascenseur, quelle est la meilleure façon de le faire ? J'ai essayé d'envelopper mon téléphone dans une feuille d'aluminium, mais cela n'a pas beaucoup aidé.

J'ai besoin de le tester sur un appareil réel, pas dans un émulateur.

1 votes

Recherche également Cages de Faraday . Ils sont faciles à construire.

2 votes

Malheureusement, ce fil est fermé. Mais j'ai trouvé une application utile sur le Play Store appelée Throttly (ce n'est pas la mienne) . Je pense qu'elle est parfaite pour simuler une connexion lente.

318voto

Shams Shafiq Points 731

Cela peut sembler un peu fou, mais un four à micro-ondes sert de bouclier à micro-ondes. Par conséquent, si vous placez votre appareil à l'intérieur d'un four à micro-ondes (N'allumez PAS le four à micro-ondes lorsque votre appareil s'y trouve), la puissance du signal diminuera considérablement. C'est certainement mieux que de rester debout dans un ascenseur...

15 votes

Wow, maintenant si tu pouvais me suggérer un moyen de me faire entrer dans le four aussi. Et les fours sont conçus pour protéger les 2,4 GHz. Ca peut ne pas marcher pour les fréquences inférieures. IDK !

5 votes

N'a pas fonctionné dans mon micro-ondes (c'est-à-dire que la connexion était encore décente) ! Agh :|

1 votes

Si vous avez un cordon USB attaché, le signal peut se faufiler de cette façon. S'il est à l'intérieur du micro-ondes, sans aucun cordon, il ne devrait pas recevoir de signal. Vous devriez également pouvoir obtenir cet effet avec du papier d'aluminium, qui ne fera pas fondre le téléphone car vous ne pouvez pas l'éteindre accidentellement.

146voto

inazaruk Points 37760

Vous pouvez utiliser un émulateur pour cela. Jetez un coup d'oeil à cette page : Émulateur Android . Faites attention aux deux arguments suivants :

  1. -netdelay <delay>

    Réglez l'émulation de la latence du réseau sur . La valeur par défaut est none. Voir le tableau de la section Émulation de la latence du réseau pour les valeurs prises en charge.

  2. -netspeed <speed>

    Réglez l'émulation de la vitesse du réseau sur . La valeur par défaut est pleine. Consultez le tableau de la section Émulation de vitesse réseau pour connaître les valeurs prises en charge.

    Vitesses de référence en kbps croissants :

                            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

20 votes

Merci beaucoup, mais comme je l'ai dit, j'aimerais tester sur un vrai appareil. Est-il possible de le faire sur un téléphone htc ou Samsung ?

0 votes

Non, vous ne pouvez pas. A moins que vous ne fassiez un vrai test sur le terrain :)

2 votes

A mon avis, la seule solution est d'avoir un routeur/AP wi-fi qui peut contrôler la vitesse du réseau. C'est plutôt une question d'administration du réseau. Mais cela devrait théoriquement être possible.

114voto

Kirill Kulakov Points 1975

Desde iPhones l'option de développement s'applique au tethering wifi, vous pouvez obtenir un iPhone qui a iOS 6 et plus (et a été réglé sur use for developments avec le xcode ), paramétrez-le pour émuler le profil réseau souhaité, connectez votre Android l'appareil à son hotspot

enter image description here

10 votes

C'est aussi la solution à laquelle nous sommes arrivés. C'est dommage que ce soit l'option la plus sensée disponible. Il faut noter dans la réponse que l'iPhone nécessite une connexion 3G/cellulaire pour que le tethering fonctionne. Il faut également noter que les vitesses de chargement et de déchargement indiquées dans l'utilitaire de l'iPhone doivent être inversées par rapport à celles de l'appareil connecté.

0 votes

Brillant ! C'est idiot que ce soit la meilleure option, surtout que l'émulateur peut le faire.

0 votes

L'émulateur d'iPhone peut se connecter en WiFi ?

90voto

S1LENT WARRIOR Points 412

Mise à jour pour Android Studio v 1.5 ou supérieur
Comme @LouMorda l'a mentionné dans un commentaire ci-dessous, la Emulator L'onglet mentionné dans le post original a été supprimé dans Android Studio v 1.5.

Maintenant, ils ont placé ces paramètres dans les paramètres du simulateur dans AVD Manager .
Pour accéder à ces paramètres :

  1. Sélectionnez Tools -> Android -> AVD Manager
  2. Cliquez sur le bouton Edit AVD bouton (icône crayon)
  3. El Network Settings est accessible après avoir cliqué sur le bouton Show Advanced Settings bouton

Voici une capture d'écran de ce qui peut apparaître :
Network Speed and Latency Settings in Android Studio v 1.5

Poste original
Pour tous ceux qui utilisent l'IDE Android Studio :

  1. Aller à Run -> Edit Configurations
  2. Sélectionnez Android Application -> [Your App]
  3. Sélectionnez Emulator onglet
  4. Ici, vous pouvez modifier différentes valeurs pour Network Speed (vitesse de l'internet) et Network Latency (retard) pour simuler différentes vitesses et latences, etc.

Alternativement, vous pouvez entrer divers arguments dans Additional command line options champ de texte comme mentionné dans la réponse de @inazaruk.

La capture d'écran ci-dessous décrit comment cette Run Configuration ressemble à un écran :

Run Configurations Screen in Android Studio beta 0.8.6

Je sais qu'il est un peu tard pour répondre à cette question, mais j'espère que cela aidera d'autres personnes confrontées à des problèmes similaires !

Editar
Pour ceux qui utilisent eclipse, voir La réponse de @Abhi ci-dessous.

2 votes

Cet onglet a été supprimé dans Android Studio v1.5

0 votes

@S1LENT WARRIOR Qu'est-ce que la latence et quelle est la différence entre (par exemple) "speed:edge, latency:none" et "speed:full, latency:edge" ?

1 votes

@JohnnyFive La vitesse fait référence à la vitesse de votre réseau, et la latence au retard du réseau.

9voto

pgarriga Points 105

Un moyen facile de tester votre application avec une connexion faible/mauvaise dans l'émulateur :

Allez sur Exécuter > Configurations d'exécution sélectionnez votre Application Android et aller jusqu'à Cible onglet. Regardez Paramètres de lancement de l'émulateur . Ici, vous pouvez facilement modifier la vitesse du réseau et la latence du réseau.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X