Configuration du réseau d'émulateurs Android
donc j'ai mis en place Charles proxy pour surveiller le trafic qui sort de l'émulateur android.
maintenant quand j'ouvre un site web il dans le navigateur Android pour par exemple:- google.com je vois. google.com in charles proxy.
mais quand j'ouvre une application(disons instagram app) dans l'émulateur et si l'application fait des appels réseau , je vois des adresses ip sur Charles proxy et pas des noms de domaine.
en Raison de laquelle le application me donne une erreur de quelque chose n'allait pas etc.
est-ce que quelqu'un peut me dire comment changer les DNS configurés de l'émulateur android afin qu'il envoie des noms d'hôtes au lieu d'adresses IP?
ou toute autre solution à ce problème.
Merci
6 réponses
vous pouvez configurer un proxy depuis la ligne de commande avec l'option-http-proxy lors du démarrage de l'émulateur. Dans ce cas, vous spécifiez des informations de procuration dans l'un de ces formats:
http://<machineName>:<port>
ou
http://<username>:<password>@<machineName>:<port>
l'option-HTTP-proxy oblige l'émulateur à utiliser le proxy HTTP/HTTPS spécifié pour toutes les connexions TCP sortantes. La Redirection pour UDP n'est pas supportée actuellement.
Alternativement, vous pouvez définir la variable d'environnement http_proxy à la valeur que vous souhaitez utiliser pour . Dans ce cas, vous n'avez pas besoin de spécifier une valeur pour dans la commande-http-proxy - l'émulateur vérifie la valeur de la variable d'environnement http_proxy au démarrage et utilise sa valeur automatiquement, si elle est définie.
vous pouvez utiliser l'option-debug-proxy pour diagnostiquer les problèmes de connexion proxy.
vous pouvez obtenir plus de détails sur ce sujet ici:
https://developer.android.com/studio/run/emulator-networking.html
il n'y a aucun moyen de changer les DNS configurés de l'émulateur android qui peuvent obtenir des noms d'hôte au lieu des adresses IP, la seule option pour utiliser le proxy est d'expliquer sur d'autres threads SO ici .
je suis sûr que les paquets viennent d'instagram et/ou peut-être qu'ils utilisent un pare-feu pour des raisons de sécurité.
il n'est pas possible avec émulateur, mais vous pouvez utiliser GENYMOTION pour cela. Genymotion est un très bon outil pour utiliser l'émulateur en ligne.
vous pouvez définir proxy dans setting->network.
essayez ça .espérons que cela vous aidera.
Pour Utilisateur Linux
nous ne pouvons pas utiliser l'émulateur démarré depuis android studio Nous devons démarrer l'émulateur à partir du terminal en utilisant ces 2 commandes
Premier mouvement de android sdk tools dir
$ cd /home/..../Android/Sdk/tools
Deuxième démarrer votre émulateur à l'aide de cette cmd
./emulator-avd Emulator_name - http-proxy http: / / Ur adresse ip : port /
Emulator_name : ouvrez la deuxième colonne AVD Manager vous obtiendrez les noms D'émulateur, ensuite vous devez remplacer les espaces entre les noms par un underscore
like Nexus 5 API 22 -- > Nexus_5_API_22
par exemple: $ ./emulator -avd Nexus_5_API_22 -http-proxy http://12.1.0.222:8888/
dans votre émulateur - allez dans Paramètres ->réseau et internet ->réseau mobile ->noms D'accès. ensuite, choisissez votre réseau pour l'éditer et mettez L'IP et le port de L'ordinateur de Charles.
n'oubliez pas d'ouvrir l'émulateur avec poxy. émulateur avec mandataire
vous pouvez utiliser la commande 'ping' pour obtenir l'adresse IP.