You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Logcat无法打印URL与邮箱,其他设备正常,求解决方案

解决Android Logcat无法打印URL/邮箱(OkHttp日志被屏蔽)的问题

你遇到的是部分Android定制ROM的日志敏感信息屏蔽问题——系统自动把日志里的URL、邮箱这类内容替换成了星号,其他没有这个过滤机制的设备就能正常显示。你的日志示例:

2023-06-23 15:44:05.092 6896-7945 okhttp.OkHttpClient I --> GET *****************************************************************************

下面是几个可行的解决办法:

  • 自定义OkHttp日志拦截器(最通用)
    别用OkHttp默认的日志拦截器,自己写一个拦截器手动打印请求细节,绕开系统的过滤:

    class CustomHttpLogger : Interceptor {
        override fun intercept(chain: Interceptor.Chain): Response {
            val req = chain.request()
            // 直接打印完整URL
            Log.d("CustomOkHttp", "--> ${req.method} ${req.url}")
            // 如果请求头里有邮箱信息,也可以单独打印
            req.headers.forEach { name, value ->
                if (value.contains("@")) {
                    Log.d("CustomOkHttp", "Header $name: $value")
                }
            }
            val response = chain.proceed(req)
            // 按需打印响应信息
            return response
        }
    }
    

    初始化OkHttpClient时添加这个拦截器:

    val okHttpClient = OkHttpClient.Builder()
        .addInterceptor(CustomHttpLogger())
        .build()
    
  • 关闭系统日志敏感信息过滤(限部分设备)
    部分国产厂商的开发者选项里有专门的开关控制这个:

    1. 打开「设置」→「开发者选项」
    2. 找「日志敏感信息保护」「隐私日志过滤」这类选项
    3. 关闭后重启Logcat或设备,再看日志是否正常显示
  • 用adb命令抓取原始日志
    设备自带的Logcat应用可能会做过滤,但adb抓取的是原始日志内容:

    adb logcat -s okhttp.OkHttpClient:I
    

    执行命令后触发请求,终端里就能看到未被屏蔽的完整URL和邮箱。

如果是厂商系统强制做的屏蔽,自定义拦截器是最稳的方案,不受系统规则限制。

内容的提问来源于stack exchange,提问作者Mohit Findoriya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 09:12:54