Android 9 (Pie) - 无法通过 Charles proxy 和 Fiddler 等网络监控工具捕获任何 api (native / web)

Posted

技术标签:

【中文标题】Android 9 (Pie) - 无法通过 Charles proxy 和 Fiddler 等网络监控工具捕获任何 api (native / web)【英文标题】:Android 9 (Pie) - Not able to capture any api (native / web) through network monitoring tools such Charles proxy and Fiddler 【发布时间】:2019-01-30 23:36:09 【问题描述】:

我正在尝试通过 Charles proxy / Fiddler 捕获从本机应用程序和网站触发的 api,但我在那里看不到任何 api。

我也设置了手动代理。

我能够看到适用于 android 8 及更低版本的 API。但不适用于 Android 9。

在 Android 9 中,我可以完全加载屏幕,但我仍然无法在任何监视器中看到 api。

【问题讨论】:

***.com/questions/53368470/… @Athira,它不工作。实现属性和 network_security_config.xml 文件后,我没有看到 api。 在AndroidManifest.xml中添加 How to get charles proxy work with Android 7 nougat? 的可能重复项。特别检查这个答案:***.com/a/39227880/150978 【参考方案1】:

在AndroidManifest.xml中添加android:usesCleartextTraffic="true"

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="your pckag">

    <uses-permission android:name="android.permission.INTERNET" />


    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme"
        android:usesCleartextTraffic="true">
</manifest>

【讨论】:

android:usesCleartextTraffic="true" 这是行 我已经完成了,但仍然无法正常工作。问题是网络事务正在发生,但它绕过了 Android 9 中的代理工具。 您无法通过简单地编辑 AndroidManifest.xml 来使其工作。您必须改为添加网络安全配置。

以上是关于Android 9 (Pie) - 无法通过 Charles proxy 和 Fiddler 等网络监控工具捕获任何 api (native / web)的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Android 9.0(PIE) 中获取 WIFI SSID?

Android Pie 无法接收百度推送通知

小花招解决Android 9 Pie 不能反射隐藏API限制

移动: Android 9 “Pie”发布

Android Api(Okhttps)未在android 9(pie)及更高版本中调用[重复]

为啥 Android Studio 不会在 Android Pie (9.0) 上运行应用程序?