使用Charles Proxy调试您的Android应用

1rtGzByVrKWt1ZjzyUN61lg
让调试开始:)

有时,当我们调试或检查任何Android App中的任何流程时,我们只需要查看其中正在发生什么API调用即可。

当然,如果要打开Android Studio,没有什么能比IDE的调试器更好的了,只需查看日志并完成(我们将了解正在发生的API调用以及有关这些API请求/响应的所有详细信息,等等)。

但是,如果我们没有打开IDE并仍想检查所有这些详细信息,该怎么办?

在这种情况下,我们有很少的选择可以帮助我们调试应用程序:-

1.如何将Charles用作Android开发人员/质量检查人员来调试应用程序

让我们经历一下设置它的过程,并从头开始设置Charles和各自需要的东西。

步骤1-打开https://www.charlesproxy.com/并下载Charles应用程序。

1gcdne9NUsmkT-oKqvJSTEg

1gcdne9NUsmkT-oKqvJSTEg-1

根据您的机器操作系统下载Charles应用程序

成功下载后,安装此应用程序。

第2步-打开Charles应用

1_uM67L7LtIpWmjzyLDoV-Q

而且我们将开始看到一些基本流量,因此要避免发生这种情况,而只将注意力集中在要查看/调试的内容上,只需选择该Proxy选项并取消选中它即可macOS Proxy。因此它将停止显示通过我们的mac的所有流量。

步骤3-编码时间,

对于此博客,我们有一个示例应用程序,该应用程序使用很少的API来获取一些数据。我们希望看到这些API及其响应等。

为此,我们需要使用network_security_config.xml如果您已经在应用程序中使用SSL Pinning,则将拥有此文件;如果没有此文件,则只需在folderxml内创建一个文件res夹,然后添加具有该名称的文件。

15ajZGxE6szD3NPcAANDHNw

并添加此代码。

<!-适用于查尔斯代理-> 
<debug-overrides> 
    <trust-anchors> 
        <!-信任用户仅在可调试时添加了CA-> 
        <certificates src =“ user” /> 
    </ trust-anchors > 
</ debug-overrides> 
<!-结束查尔斯代理代码块->

添加此代码后,该文件将如下所示。

1Rq-CAshZN_pcNU6CEyGShA

使用此与Charles代理相关的代码,如果您也想使用它SSL Pinning,也可以在此处添加该代码;如果您是新手,SSL Pinning请在此处查看我的详细帖子。

Android中的SSL固定和漏洞处理。

作为Android开发人员,我们的应用对我们来说就像婴儿一样,显然,我们需要逐层保护我们的应用,或者…

medium.com

并在AndroidManifest.xml 文件中添加此文件

1QiyDico_O36kzY7rhe9J8w

步骤4-打开设备,长按Wifi,然后单击“修改网络”。

在手机/仿真器设置中,转到wifi,点击修改网络(按照视频中的以下步骤操作)

1okatuFnifaplVULslx-Ggw-1

现在我们需要端口代码和代理主机名,如何获取它,在Charles应用程序中单击,Help然后从下拉列表中单击SSL Proxying并选择Install Charles Root Certificate on a Mobile device.

1HpUWhEqbV0wcCdYM25jIWw-1

然后它将向我们显示这些详细信息:

1PWsRNU1Z5f8FAfkHZs0F1g-1

在这里,我们拥有了两个要添加到移动设备中的值

港口— 8888

主机-192.168.43.222

1fF2VU7SPrECeY0TKmJtXng

填写这些详细信息,然后单击保存。

第5步-在设备上安装Charles代理证书。

打开任何Web浏览器,然后输入以下内容: chls.pro/ssl

您会看到警告提示,下载并打开它,

1zvFHAIUM1M0cM2O3uOGMzw

然后另存为Charles-proxy,然后单击确定。

1UtDDEuYb_dp-HimWTbOQGg

现在,已安装Charles Proxy证书。

第6步-让我们喝一口果汁,然后立即进行调试:)

让我们按照以下步骤调试视频。

使用Charles调试android应用