【问题标题】:How to check proxy settings of android emulator launched via emulator.exe -http-proxy如何检查通过 emulator.exe -http-proxy 启动的 android 模拟器的代理设置
【发布时间】:2015-03-29 06:59:37
【问题描述】:

我通过命令行emulator -avd MyEmulator -http-proxy http://username:password@IP:Port 启动了一个模拟器。代理设置存储在哪里?以及如何检查?

【问题讨论】:

  • 我可以通过浏览器或其他应用程序毫无问题地连接到互联网并使用代理,我可以通过 whatismyip.com 或 wireshark 进行检查。但是我看不到这些代理设置在模拟器上的存储位置。我尝试 adb shell getprop 并且它没有返回任何为代理配置的内容,我检查 sqlite3 system.db 并且没有为代理配置任何内容,我检查菜单“接入点名称”并且也没有配置任何代理。

标签: android proxy emulation


【解决方案1】:

您可以使用 Charles 调试您的模拟器 HTTP/S 流量。查看this 了解更多信息

使用系统的设置数据库:

$ adb shell 
$ sqlite3 /data/data/com.google.android.providers.settings/databases/settings.db 
  sqlite> INSERT INTO system VALUES(99,'http_proxy', 'proxy:port'); 
  sqlite> exit

使用 Android 模拟器本身:

最好在正在运行的模拟器本身内部管理它。如果它不适合您,请应用以下内容:

  • 进入设置 |无线与网络 |移动网络 |接入点名称
  • 在这里你会找到 Telkila Internet,点击它。
  • 在“编辑接入点”部分,输入“代理”和“端口” 还提供用户/通行证.. 将其余字段留空

如果您从 eclipse 运行模拟器:

从窗口 |偏好 |安卓 |发射 |默认模拟器选项 然后在那里设置以下内容:

-http-proxy="http://user:pass@ip:port"

或打开项目的运行配置(单击“运行方式”|“运行配置”)并在“目标”选项卡中编辑其配置。在“附加仿真器命令行选项”字段中添加代理

使用环境变量:

如果环境变量“http_proxy”不起作用,您甚至可以使用 param -http-param 设置环境变量 .. 模拟器查找 http_proxy 环境变量并自动使用

欲了解更多信息,请查看以下内容

【讨论】:

  • 问题是我的条件是,模拟器已经打开了,时不时更换代理。是的,好的解决方案是通过菜单“编辑访问点”更改代理,它运行良好,但它仅适用于浏览器,不适用于忽略这些代理设置的其他应用程序。我可以使用代理在模拟器上制作所有应用程序的唯一方法是通过命令行并使用选项 -http-proxy 启动模拟器,但我的问题是我可以在哪里找到这些代理设置并即时切换代理同一个模拟器
  • 我可以尝试通过环境变量设置代理,并即时切换它以检查是否仍然可以使用新代理。
  • 好的,我现在知道了.. 代理设置存储在设置数据库中。如果对您有帮助,您可以尝试以下方法并更新我 $ adb shell $ sqlite3 /data/data/com.google.android.providers.settings/databases/settings.db sqlite> INSERT INTO system VALUES(99,'http_proxy' , '代理端口'); sqlite>exit .. 我会更新答案以获得更好的格式
  • 检查“使用系统设置数据库”部分..试试看,如果有帮助就更新
  • 是的,我尝试过,代理条目已添加到系统数据库中,但浏览器和其他应用程序似乎忽略了这些代理设置。我会做进一步的测试来确认。
猜你喜欢
  • 2016-08-16
  • 2010-12-06
  • 2010-10-06
  • 2016-05-31
  • 2016-03-09
  • 2015-03-07
  • 2019-08-16
  • 1970-01-01
  • 2013-05-19
相关资源
最近更新 更多