Android Studio 2022.2.1:网络检查器数据不可用

hc8w905p  于 2023-05-18  发布在  Android
关注(0)|答案(1)|浏览(293)

我正在使用最新&最好的Android Studio版本:

Android Studio Flamingo | 2022.2.1
Build #AI-222.4459.24.2221.9862592, built on March 31, 2023
Runtime version: 17.0.6+0-b2043.56-9586694 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
Windows 10 10.0

到目前为止,它运行得很好,但是当我试图检查https://developer.android.com/studio/debug/network-profiler中描述的流量细节时,我在Network Inspector窗口中看到了一个emptyConnection View标签:

在配置和操作方面,我可能错过了一些微不足道的东西:我需要做什么才能查看formal documentation中所示的填充Connection View行?

:正式文件规定

目前,Network Inspector仅支持用于网络连接的HttpsURLConnectionOkHttp库。如果您的应用使用其他网络连接库,您可能无法在网络检查器中查看网络活动。”
如何判断WebView.loadUrl()是否使用HttpsURLConnection和/或OkHttp

**更新:**偶然,我设法在Network Inspector上“捕捉到一个光点”,因为我的代码中使用了HttpURLConnection

HttpURLConnection httpConnection = null;
try {
    URL testurl = new URL("https://www.google.com");
    URLConnection connection = testurl.openConnection();
    connection.setConnectTimeout(5 * 1000);

    httpConnection = (HttpURLConnection) connection;
    int responseCode = httpConnection.getResponseCode();
    ...
}

连接视图显示该请求沿着关联数据(根据需要):

所以,我现在的两个问题是:
1.如何判断WebView.loadUrl()是否使用HttpsURLConnection和/或OkHttp
1.为了查看WebView.loadUrl()填充的Connection View行,我需要做什么?

lx0bsm1f

lx0bsm1f1#

This older answer似乎是我目前发现的最好的,Webview“使用Chrome网络堆栈的快照,或者对于HC前设备使用WebKit网络堆栈。”
This answer提供了强制使用OkHttp作为实际网络栈和shouldInterceptRequest的方法。看Michalsx的回答。
this article开始,Webview上的问题也不容易,因为Webview不断被Google改变。
WebView的早期版本被集成为核心操作系统的一部分。随着Android 5.0的发布,Google将WebView与核心操作系统分离。Google将WebView与Google Chrome合并,分别发布7.0、8.0和9.0版本。在Android 10.0中,它又回到了将其作为一个单独的组件。
Developer - Managing WebView objects“从Android 7.0(API级别24)开始,用户可以在几个不同的包中选择,用于在WebView对象中显示Web内容...使用特定包的WebView实现来显示Web内容。

相关问题