我一直在关注其他问题的说明,例如How to configure SSL certificates with Charles Web Proxy and the latest Android Emulator on Windows?(我在MAC上)和SSL Proxy/Charles and Android trouble,我可以使用Charles Proxy来分析Android模拟器的数据包一直到Kitkat。
现在我正在尝试为Lollipop模拟器做同样的事情。但是,当我重复我用来成功设置Kitkat仿真器的相同步骤时,Charles没有显示任何内容!当我尝试使用模拟器的浏览器连接到Web时,它会出现以下错误:
为了启用数据包嗅探,Mac OS X上的Android Lollipop模拟器是否需要执行特殊步骤?
提前致谢!
答案 0 :(得分:29)
我有同样的想法,最后找到出路:按照你提到的链接中的说明进行操作:How to configure SSL certificates with Charles Web Proxy and the latest Android Emulator on Windows?
然后我从查尔斯进入了代理商那里。菜单并启用了Mac OS X代理'。比突然的东西来了。即使我关闭了Mac OS X代理' ...
ps:通过模拟器上的移动设置设置代理不起作用;代理设置必须通过命令行完成(sdk / tools中的模拟器命令,应该运行如下:./emulator -avd Nexus_4_API_21 -http-proxy http://<your-ip-as-in-charles-help-menu>:8888
)。我也尝试了一些像proximator这样的代理应用程序而没有任何成功。我也遇到了问题,并重新启动查尔斯修复它。
答案 1 :(得分:17)
如果您不想使用命令行,可以从模拟器执行此操作,它需要更多设置,但效果很好:
打开时会要求您设置一个引脚或确认它是否已经设置
为证书命名
注意:我已经使用API 24模拟器对其进行了测试,但似乎可以正常使用,但是它应该适用于其他版本。
注意2:从Android Studio 3.0开始,使用API时不再需要Charles&gt;大部分时间都是21,因为这是: https://developer.android.com/studio/profile/network-profiler.html
答案 2 :(得分:8)
按照以下步骤操作:
1)打开终端并转到SDK路径中的tools
文件夹
2)在终端上拖放一个名为emulator
的文件(这样做会为您提供可执行文件的路径)。
您的模拟器现在应该读取这样的路径
/ Users / your_pc_name / android_sdk / tools / emulator -avd Nexus_6P_API_23 -http-proxy http://x.x.x.x:8888
此处xxxx是您可以在Charles Help菜单中找到的IP地址 3)并执行此操作。
瞧!您的模拟器现在将以代理网络模式启动。
答案 3 :(得分:8)
答案 4 :(得分:2)
/Users/`whoami`/Library/Android/sdk/tools/emulator -avd `android list avd | grep Name -m 1 | cut -c 10-99` -http-proxy `ipconfig getifaddr en0`:8888
这应该适用于大多数mac。