Q版本如何设置DebugLoggerUI是否开机自启动(非首次开机)
文摘 Android MediaTek 2020-03-4 阅读:8604[DESCRIPTION]
MTK Q版本开始,开机抓Log机制有了部分变化。抓Log的Tool名称也变成DebugLoggerUI。
尤其针对非首次开机而言变化比较大。老的方案 FAQ17814 适合P版本以及之前的非首次开机方案。
Q版本开始 "Start Automatically" 已经被拿掉了。
[SOLUTION]
Mobile Log 有一个控制文件"/data/misc/mblog/mblog_config", 里面的变量autostart 控制下次开机是否抓取mobile log.
方案1.
adb shell am broadcast -a com.debug.loggerui.ADB_CMD -e cmd_name set_auto_start_1 --ei cmd_target 23 -n com.debug.loggerui/.framework.LogReceiver
备注: set_auto_start_1 表示开启开机自启动,set_auto_start_0 表示关闭开机自启动
logTypes = 1 + 2 + 4 + 16 + 32 + 64
(MobileLog : 1, ModemLog : 2, NetworkLog : 4, GPSLog : 16, ConnsysFWLog : 32, BTHostLog : 64)
本案中 logTypes =23, 客户需要在关机前执行这条指令就能抓到下次开机的mobile Log.
方案2.
adb shell am broadcast -a com.debug.loggerui.ADB_CMD -e cmd_name stop --ei cmd_target 23 -n com.debug.loggerui/.framework.LogReceiver
adb shell am broadcast -a com.debug.loggerui.ADB_CMD -e cmd_name start --ei cmd_target 23 -n com.debug.loggerui/.framework.LogReceiver
关机前保证log处于running 状态, 则重新开机后, log 就会auto start。我们比较推荐这种方案。
上述"stop"命令的作用是将Log buffer中剩余的部分Log flush到Log文件中(一般是Log buffer满了才会flush到Log文件). 保证Log文件抓的比较全.
"start"命令执行后保证变量"autostart"变成1.