以下为结合相关资料整理而来。

如何通过adb command去控制MTKLogger 开关DebugLoggerUI (Q0之后更名),设定log路径等等。

Q0版本之前:

1. 开启/关闭

adb shell am broadcast -a com.mediatek.mtklogger.ADB_CMD -e cmd_name start/stop --ei cmd_target 23

(start表示开启,stop表示关闭;23可改为1/2/4/16,分别代表MobileLog/ModemLog/NetworkLog/GPSLog)

2. 获取开关状态

adb shell getprop debug.MB.running

adb shell getprop debug.mdlogger.Running

adb shell getprop debug.mtklog.netlog.Running

3. 控制Tag Log

Enable Taglog:

adb shell am broadcast -a com.mediatek.mtklogger.ADB_CMD -e ecmd_nam switch_taglog --ei cmd_target 1

Disable Taglog:

adb shell am broadcast -a com.mediatek.mtklogger.ADB_CMD -e cmd_name switch_taglog --ei cmd_target 0

Trigger taglog:

adb shell am broadcast -a com.mediatek.log2server.EXCEPTION_HAPPEND -e path SaveLogManually -e db_filename yourInputTagName

4. 修改log存储路径

adb shell am broadcast -a com.mediatek.mtklogger.ADB_CMD -e cmd_name switch_logpath -e cmd_target external_sd

——————————————————————————————————————————————————

adb shell setprop persist.mtklog.log2sd.path logpath

JB版本前logpath为:

/mnt/sdcard 内置sd卡

/mnt/sdcard2 外置sd卡

需要做stop/start MTKLogger才能生效

JB版本后logpath为:

internal_sd 内置sd卡

external_sd 外置sd卡

5. 显示MTKLogger主界面

adb shell am start -n com.mediatek.mtklogger/com.mediatek.mtklogger.MainActivity

6. Taglog开启/关闭

adb shell am broadcast -a com.mediatek.mtklogger.ADB_CMD -e cmd_name switch_taglog --ei cmd_target 0/1

(0表示关,1表示开)

7. 切换Mdlog录制模式为USB/SD/Passive Log to SD

adb shell am broadcast -a com.mediatek.mtklogger.ADB_CMD -e cmd_name switch_modem_log_mode --ei cmd_target 1/2/3

(1表示USB模式,2表示SD模式, 3表示Passive Log to SD模式)

M:

adb shell am broadcast -a com.mediatek.mtklogger.ADB_CMD -e cmd_name switch_modem_log_mode_mode --ei cmd_target mdtype

Mode = 1/2/3 -> Usb/sd/pst

Mdtype = 1, 3 -> md1/md3

8. 开机自启动开启/关闭

adb shell am broadcast -a com.mediatek.mtklogger.ADB_CMD -e cmd_name set_auto_start_1/set_auto_start_0 --ei cmd_target 23

(set_auto_start_1表示开启开机自启动,set_auto_start_0表示关闭开机自启动;

23可改为1/2/4/16,分别代表MobileLog/ModemLog/NetworkLog/GPSLog)

9. 设置Limit Current Log Size (JB版本以后生效)

adb shell am broadcast -a com.mediatek.mtklogger.ADB_CMD -e cmd_name set_log_size_300 --ei cmd_target 7

(set_log_size_300 可更改为其他合适值如set_log_size_600)

(7可改为1/2/4,分别代表MobileLog/ModemLog/NetworkLog,这里mobilelog 目录大小指的是mtklog/mobilelog下单个APLog的大小;其他modemlog Netlog等都是指的mtklog/下 mdlog netlog等的总大小)

10. 设置Mobile Limit Total Log Size (JB版本以后生效)

adb shell am broadcast -a com.mediatek.mtklogger.ADB_CMD -e cmd_name set_total_log_size_600 --ei cmd_target 1

(只针对mobilelog 有效,最后一位1不可更改;这里设置的是mtklog/mobilelog的总大小)

11.设置MTKLOGGER Show Notification

adb shell am broadcast -a com.mediatek.mtklogger.ADB_CMD -e cmd_name show_notification_1/0 --ei cmd_target -1

(show_notification_1/0 打开或关闭状态栏显示)

12. 清除所有log clear_all_log(N版本)

adb shell am broadcast -a com.mediatek.mtklogger.ADB_CMD -e cmd_name clear_all_logs

Q0版本之后:

通过配置文件配置

配置文件路径:

编译之前通过 mtklog-config-bsp-eng.prop && mtklog-config-bsp-user.prop 文件配置 DebugLoggerUI 的默认值

文件路径: \device\mediatek\common\mtklog\

mtklog-config-bsp-eng.prop 控制eng版本

mtklog-config-bsp-user.prop 控制user 和userdebug版本

配置log的默认路径

Configure contents:

mtklog_path = internal_sd/external_sd

internal_sd : Phone storage (Default value)

external_sd : Portable stroage

com.mediatek.log.mobile.path = detail_path

com.mediatek.log.modem.path = detail_path

com.mediatek.log.network.path = detail_path

com.mediatek.log.connsysfw.path = detail_path

com.mediatek.log.gpshost.path = detail_path

com.mediatek.log.bthost.path = detail_path

如果detail_path没有设定则默认使用,“mtklog_path” .

配置第一次开机自启的log类型

类似:

com.mediatek.log.mobile.enabled = true

com.mediatek.log.modem.enabled = true

com.mediatek.log.net.enabled = true

com.mediatek.log.connsysfw.enabled = true

com.mediatek.log.gpshost.enabled = true

com.mediatek.log.bthost.enabled = true

eng版本默认第一次开机都启动,其他版本默认不启动,可自行配置。

配置log循环录制大小

类似:

com.mediatek.log.mobile.maxsize = 500

Single mobile log folder size

com.mediatek.log.mobile.totalmaxsize = 1000

Total mobile log size

com.mediatek.log.modem.maxsize = 2000

com.mediatek.log.net.maxsize =600

com.mediatek.log.connsysfw.maxsize = 2000

com.mediatek.log.bthost.maxsize = 2000

配置的log缓存大小会循环存储,即当存储达到最大值时,如果有新log就会把前面的旧log覆盖掉.

配置mobile log中的子项

类似:

com.mediatek.log.mobile.AllMode = true

Set all mobile sub log if the detail type mobile sub log is not set

com.mediatek.log.mobile.AndroidLog = true

com.mediatek.log.mobile.KernelLog = true

com.mediatek.log.mobile.SCPLog = true

com.mediatek.log.mobile.ATFLog = true

com.mediatek.log.mobile.BSPLog = true

com.mediatek.log.mobile.MmediaLog = true

com.mediatek.log.mobile.SSPMLog = true

com.mediatek.log.mobile.ADSPLog = true

如果mobile log子项没有设定,则默认使用 “com.mediatek.log.mobile.AllMode” 的设定值.

其他配置

配置开启TagLog。

com.mediatek.log.taglog.enabled = true

默认值 : eng版本默认为trueo其他为false。

配置当发生EE时,modem log是否自动重启。

com.mediatek.log.modem.autoreset.enabled = false

Default value is false

A warning dialog will be shown if it is false

配置modem Log默认启动模式

com.mediatek.log.modem.mode = 2

1: usb mode, 2 : sdcard mode, 3: pls mode

Default value is 2

配置使用adb 命令操作 DebugLoggerUI

1.启动和停止

命令格式:adb shell am broadcast -a com.debug.loggerui.ADB_CMD -e

cmd_name value --ei cmd_target logTypes -n com.debug.loggerui/.framework.LogReceiver

value = start/stop

logTypes = 1 + 2 + 4 + 16 + 32 + 64

(MobileLog : 1, ModemLog : 2, NetworkLog : 4, GPSLog : 16, ConnsysFWLog : 32, BTHostLog : 64)

例1 : 开启所有log : adb shell am broadcast -a

com.debug.loggerui.ADB_CMD -e cmd_name start --ei cmd_target -1 -n com.debug.loggerui/.framework.LogReceiver

Start all logs command : adb shell am broadcast -a com.debug.loggerui.ADB_CMD -e cmd_name start --ei cmd_target 119 -n com.debug.loggerui/.framework.LogReceiver

例2 : 停止ModemLog & NetworkLog : adb shell am broadcast -a com.debug.loggerui.ADB_CMD -e cmd_name stop --ei cmd_target 6 -n com.debug.loggerui/.framework.LogReceiver

注意: 启动和停止命令需要间隔15s的时间。

2.查询log运行状态

命令格式:

adb shell getprop logstatusproperty

log status result : running with "1", stop with "0"

其中logstatusproperty可以为如下值:

logstatusproperty of mobile : vendor.MB.running

logstatusproperty of modem log : vendor.mdlogger.Running

logstatusproperty of network log : vendor.mtklog.netlog.Running

logstatusproperty of GPSLog : vendor.gpsdbglog.enable

logstatusproperty of BTHost log : vendor.bthcisnoop.running

logstatusproperty of ConnsysFW log : vendor.connsysfw.running

例1 : 获取mobile log的状态 : adb shell getprop vendor.MB.running

3. 重启log命令

命令格式 :

adb shell am broadcast -a com.debug.loggerui.ADB_CMD -e cmd_name restart --ei cmd_target logTypes -n com.debug.loggerui/.framework.LogReceiver

logTypes = 1 + 2 + 4 + 16 + 32 + 64 (MobileLog:1,ModemLog:2,NetworkLog:4,GPSLog:16,ConnsysFWLog:32,BTHostLog:64)

logTypes = -1 (all logs)

例如:只启动mobile log.

命令 :

adb shell am broadcast -a com.debug.loggerui.ADB_CMD -e cmd_name restart --ei cmd_target -1 -n com.debug.loggerui/.framework.LogReceiver

结果: only mobile restart

4.设置是否显示modem EE内存转储完成对话框

命令格式:

adb shell am broadcast -a com.debug.loggerui.ADB_CMD -e cmd_name modem_auto_reset_value --ei cmd_target 2 -n com.debug.loggerui/.framework.LogReceiver

value = 1/0 (Enable/Disabled)

例如 : Display modem EE memory dump done dialog :

adb shell am broadcast -a com.debug.loggerui.ADB_CMD -e cmd_name modem_auto_reset_1 --ei cmd_target 2 -n com.debug.loggerui/.framework.LogReceiver

5.设置modem log模式

命令格式:

adb shell am broadcast -a com.debug.loggerui.ADB_CMD -e cmd_name switch_modem_log_mode_value --ei cmd_target modemtype -n com.debug.loggerui/.framework.LogReceiver

value = 1/2/3 (USB/SD/PLS)

modemtype = 1/3 (md1/md3)

例 : Set Modem1 Mode to SD command : adb shell am broadcast -a com.debug.loggerui.ADB_CMD -e cmd_name switch_modem_log_mode_2 --ei cmd_target 1 -n com.debug.loggerui/.framework.LogReceiver

6.手动触发EE

命令格式 :

adb shell am broadcast -a com.debug.loggerui.ADB_CMD -e cmd_name force_modem_assert --ei cmd_target 2 -n com.debug.loggerui/.framework.LogReceiver

7. 开启/关闭Taglog

命令格式:

adb shell am broadcast -a com.debug.loggerui.ADB_CMD -e cmd_name switch_taglog --ei cmd_target value -n com.debug.loggerui/.framework.LogReceiver

value = 1/0 (Enable/disable)

例 : enable taglog command :

adb shell am broadcast -a com.debug.loggerui.ADB_CMD -e cmd_name switch_taglog --ei cmd_target 1 -n com.debug.loggerui/.framework.LogReceiver

8.触发Taglog

命令格式 :

adb shell am broadcast -a com.mediatek.log2server.EXCEPTION_HAPPEND -e path SaveLogManually -e db_filename yourFileName --ez is_need_zip needZipValue --ez is_need_all_logs needAllLogValue -n com.debug.loggerui/.framework.LogReceiver

yourFileName can be define by yourself

needZipValue = true/false (zip file/ not zip file)

needAllLogValue = true/false (tag all log from mtklog foler/ not tag all log)

例: tigger taglog zip current log command :

adb shell am broadcast -a com.mediatek.log2server.EXCEPTION_HAPPEND -e path SaveLogManually -e db_filename test --ez is_need_zip true --ez is_need_all_logs false -n com.debug.loggerui/.framework.LogReceiver

9.显示DebugLoggerUI 主界面

Start DebugLoggerUI Activity command : adb shell am start -n com.debug.loggerui/com.debug.loggerui.MainActivity

10.设置log大小

设置mobile log size大小

adb shell am broadcast -a com.debug.loggerui.ADB_CMD -e cmd_name set_total_log_size_600 --ei cmd_target 1 -n com.debug.loggerui/.framework.LogReceiver

设置 modem log size 大小:

adb shell am broadcast -a com.debug.loggerui.ADB_CMD -e cmd_name set_log_size_600 --ei cmd_target 2 -n com.debug.loggerui/.framework.LogReceiver

设置network log size大小:

adb shell am broadcast -a com.debug.loggerui.ADB_CMD -e cmd_name set_log_size_200 --ei cmd_target 4 -n com.debug.loggerui/.framework.LogReceiver

设置 moble log 中单个APLog 文件夹大小

adb shell am broadcast -a com.debug.loggerui.ADB_CMD -e cmd_name set_log_size_300 --ei cmd_target 1 -n com.debug.loggerui/.framework.LogReceiver

11. 设置Mobile 中子项的使能:

命令格式:

adb shell am broadcast -a com.debug.loggerui.ADB_CMD -e cmd_name set_sublog_type1_type2_... typen_value --ei cmd_target 1 -n com.debug.loggerui/.framework.LogReceiver

value = 1/0 (enable/disabled)

type1_type2_...typen = 1_2_..._8

UB_LOG_TYPE_ANDROID = 1

UB_LOG_TYPE_KERNEL = 2;

UB_LOG_TYPE_SCP = 3;

UB_LOG_TYPE_ATF = 4;

UB_LOG_TYPE_BSP = 5;

UB_LOG_TYPE_MMEDIA = 6;

UB_LOG_TYPE_SSPM = 7;

UB_LOG_TYPE_ADSP =8

例: 开启 Android Log & Kernel Log & BSP Log & Mmedia Log 命令:

adb shell am broadcast -a com.debug.loggerui.ADB_CMD -e cmd_name set_sublog_1_2_5_6_1 --ei cmd_target 1 -n com.debug.loggerui/.framework.LogReceiver