Android模拟器networkingconfiguration

所以我build立了charles proxy来监视android模拟器的stream量。

现在,当我在Android浏览器中打开一个网站时,例如: – google.com我在charles proxy中看到google.com。

但是,当我在模拟器中打开一个应用程序(比如说instagram应用程序),并且如果该应用程序进行一些networking调用,我会在charles proxy上看到ip地址,而不是域名。

因为这个应用程序给我一个错误的东西出错等

任何人都可以告诉我如何更改android模拟器的dnsconfiguration,以便它发送主机名而不是IP地址?

或者任何其他解决这个问题的方法。

谢谢

Solutions Collecting From Web of "Android模拟器networkingconfiguration"

在您的模拟器 – 进入设置 – >networking和互联网 – >移动networking – > AccessPointNames。 然后select你的networking进行编辑,并把查尔斯电脑的IP和端口。

记得用poxy打开模拟器。 模拟器与代理

您可以在启动模拟器时使用-http-proxy选项从命令行configuration代理。 在这种情况下,您可以使用以下格式之一指定代理信息:

http://<machineName>:<port> 

要么

 http://<username>:<password>@<machineName>:<port> 

-http-proxy选项强制模拟器为所有传出的TCP连接使用指定的HTTP / HTTPS代理。 UDP目前不支持redirect。

或者,您可以将环境variableshttp_proxy定义为您要使用的值。 在这种情况下,您不需要在-http-proxy命令中指定值 – 仿真器将在启动时检查http_proxy环境variables的值,并自动使用它的值(如果已定义)。

您可以使用-debug-proxy选项来诊断代理连接问题。

你可以在这里得到关于这个主题的更多细节:

 https://developer.android.com/studio/run/emulator-networking.html 

没有办法改变可以获取主机名而不是IP地址的android模拟器的dnsconfiguration,唯一的select使用代理是在这里的其他SO线程解释。

我确信这些数据包是来自Instagram的,也可能是出于安全目的而使用某些防火墙。

这是不可能的模拟器,但你可以使用GENYMOTION 。 Genymotion是使用在线模拟器非常好的工具。

在这里输入图像说明

您可以在设置 – >networking中设置代理。

在这里输入图像说明

试试.hope这将帮助你。

对于Linux用户

我们无法使用从android studio开始的模拟器我们必须使用这2个命令从terminal启动模拟器

首先移动到android sdk工具目录

 $ cd /home/..../Android/Sdk/tools 

其次使用此cmd启动您的模拟器

./emulator -avd Emulator_name -http-proxy http:// Ur ip地址port /

Emulator_name :打开AVD Manager第二列你将得到Emulator的名称,接下来你必须用namereplace下划线之间的空格

Nexus 5 API 22 – > Nexus_5_API_22

例如: $ ./emulator -avd Nexus_5_API_22 -http-proxy http://12.1.0.222:8888/

您可以使用“ping”命令获取IP地址。