Telephony模块中的Log使用

一、Android原生android.util.Log类

Android原生的Log类是http://androidxref.com/9.0.0_r3/xref/frameworks/base/core/java/android/util/Log.java#144

最终会调用native方法,传递的参数有:bufID(对应不同的MAIN/RADIO/EVENTS/SYSTEM/CRASH buffer), priority(VERBOSE < DEBUG < INFO < WARN < ERROR, 默认大于等于INFO的log会被打印出来,其它等级的log可以通过log.tag.LOG_TAG = VERBOSE等方法打开)

144    public static int d(String tag, String msg) {
145        return println_native(LOG_ID_MAIN, DEBUG, tag, msg);
146    }


373    /** @hide */ public static native int println_native(int bufID,
374            int priority, String tag, String msg);

我们可以通过如下两种方式使用:

  • import导包+调用Log.d

<think>好的,我需要帮助用户在高通modem日志中过滤或提取与彩信(MMS)相关的记录。首先,我得回顾用户提供的引用内容,特别是引用[1]、[2]、[3]和[4],这些可能包含相关的步骤或工具信息。 根据引用[1],提到了使用查看Modem log的工具,查找关键字ESM,并在PS Trace Peer中查找PDN CONNECTIVITY REQUEST,其中esm_info_trsf_flag为1表示开启。这可能与数据连接有关,而彩信通常需要数据连接传输,所以可能需要关注相关的PDN连接请求。 引用[2]提到了radio log的抓取方法,使用adb命令adb logcat –b radio –v time > radio.txt,这可能是获取modem日志的方法之一。用户需要的是高通平台的日志,所以可能需要类似的命令或工具。 引用[3]指出高通平台的源码路径通常在android/vendor/qcom/proprietary/telephony-apps/etc,这可能包含与彩信相关的配置文件,但用户的问题是关于日志过滤,所以可能需要查找日志中的特定关键字或协议。 引用[4]提到硬件抽象层和kernel驱动模块,这可能与底层操作有关,但暂时不确定是否直接相关,可能需要排除。 接下来,用户的问题是如何在高通modem日志中过滤MMS相关信息。彩信通常使用WAP或HTTP协议传输,基于MMS协议。因此,在modem日志中可能需要查找与MMS相关的协议消息,比如MM1、MM4等,或者相关的APN设置、数据连接建立等。 可能的步骤: 1. 获取modem日志:使用高通工具或adb命令抓取radio日志,如引用[2]中的adb logcat命令。 2. 确定彩信相关关键字:MMS协议中的消息类型(如m-send-req、m-notification-ind),或APN名称(如mms),或端口号(如80、8080)。 3. 使用过滤命令或工具筛选日志,例如grep命令查找关键字。 需要验证这些关键字是否正确,比如MMS是否使用特定的APN,或者是否有特定的协议标识符。此外,可能需要查看QMI(Qualcomm Modem Interface)消息中与MMS相关的服务类型。 可能出现的问题包括不确定具体的关键字或日志结构,此时可能需要参考高通文档或现有资料,但根据现有引用,可能需要结合PS Trace中的PDN连接请求,检查是否连接到MMS APN,或者是否有数据传输相关的记录。 总结步骤: - 抓取radio log; - 使用关键字过滤如MMS、mms、WAP、MM1、MM4、APN名称; - 检查PDN连接请求中的APN是否为彩信专用; - 分析相关消息的传输状态。 最后,生成相关问题需要考虑用户可能的后续疑问,如工具使用、关键字扩展或协议细节。</think>### 高通Modem日志中筛选MMS信息的方法 #### 1. 获取高通Modem日志 - **使用ADB命令抓取Radio Log** 通过以下命令抓取基带层日志,保存为`radio.txt`: ```bash adb logcat -b radio -v time > radio.txt ``` 该日志包含调制解调器(Modem)与网络交互的底层协议消息[^2]。 - **使用QXDM工具抓取完整Modem日志** 高通专用工具QXDM(Qualcomm eXtensible Diagnostic Monitor)可捕获更详细的Modem信令,需连接设备后启用**PS Trace**或**SIP/MMS协议栈跟踪**。 #### 2. 筛选MMS相关关键字 在日志中搜索以下关键字段: - **协议标识符** - `MMS`:直接匹配彩信协议名称。 - `WAP`:彩信基于WAP协议传输,需关注`WAP Push`或`WSP PDU`。 - `MM1`/`MM4`:MMS协议接口类型(如MM1用于终端与MMSC交互)。 - **APN配置** 彩信通常使用独立APN(如`mms`),需过滤包含`APN=mms`或`PDN_TYPE=MMS`的PDN连接请求记录[^1]。 - **端口号** 彩信服务器常用端口(如80、8080),可搜索`port=80`或`destination_port=8080`。 - **QMI消息** 高通Modem通过QMI协议与AP通信,需关注`QMI_WMS`(无线消息服务)相关的消息,如: ```log QMI_WMS_RAW_SEND (Message Type 0x002D) QMI_WMS_EVENT_REPORT (Message Type 0x002A) ``` #### 3. 示例过滤命令 - **通过grep过滤关键字** ```bash grep -iE "MMS|WAP|mmsc_url|port=80" radio.txt ``` - **结合PDN连接状态** 检查首次PDN连接请求是否关联MMS APN: ```log PDN_CONNECTIVITY_REQUEST -> APN=mms, esm_info_trsf_flag=1 ``` 若`esm_info_trsf_flag=1`,表示APN配置已激活。 #### 4. 分析关键流程 1. **MMS发送流程** 查找`MM1_m-send.req`(终端发送请求)和`MM1_m-send.conf`(服务器确认)。 2. **MMS接收流程** 关注`MM1_m-notification.ind`(推送通知)和`MM1_m-retrieve.conf`(内容下载)。 #### 5. 工具辅助分析 - **使用Wireshark解析PS Trace** 若已捕获PCAP格式的PS Trace,可通过Wireshark过滤`http && ip.addr == <MMSC_IP>`,直接查看HTTP层内容。 - **高通QXDM内置过滤器** 在QXDM中启用`MMS`或`WAP`事件过滤,实时高亮相关信令。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值