AMS 动态debug log开关
先按以下表格执行对应adb命令 → 复现问题(如果复现时间较长,建议增大日志缓冲区) → 抓取bugreport
| 组件 | 需执行的操作 |
|---|---|
| 广播 | adb shell am logging enable-text DEBUG_BACKGROUND_CHECK DEBUG_BROADCAST DEBUG_BROADCAST_BACKGROUND DEBUG_BROADCAST_LIGHT DEBUG_BROADCAST_DEFERRAL |
| Service | adb shell am logging enable-text DEBUG_BACKGROUND_CHECK DEBUG_SERVICE DEBUG_FOREGROUND_SERVICE DEBUG_SERVICE_EXECUTING |
| Activity | adb shell am logging enable-text DEBUG_ACTIVITY_STARTS DEBUG_IDLE DEBUG_RESULTS DEBUG_RECENTS_TRIM_TASKS DEBUG_ROOT_TASK DEBUG_RECENTS DEBUG_APP adb shell wm logging enable-text WM_DEBUG_CONFIGURATION |
| ContentProvider | adb shell am logging enable-text DEBUG_PROVIDER DEBUG_MU |
复现完问题后建议关闭对应的log开关(不然可能影响手机的性能)
- 执行adb shell dumpsys activity logging
- 查看打开了哪些开关

- 执行adb shell am logging disable-text 关闭所有开关

Help(使用说明)
adb shell dumpsys activity -h (查看命令)

adb shell am -h (使能命令)

系统debug log开关
adb shell dumpsys activity logging (有相关Enabled/Enabled log groups log groups输出)
adb shell am logging enable-text XXX XXX(为上面命令输出的某些字段)
adb shell dumpsys activity logging (enable生效)
adb shell am logging disable-text XXX XXX(为上面命令输出的某些字段)
adb shell dumpsys activity logging (disable生效)

App debug log开关
获取需要打开开关app的进程名和uid
adb shell ps -ef | grep home (查看home进程uid)
如下a126代表 10126,a009代表10009

使能对应的debug config

相关change
目前进了s版本和t版本的测试版和L18稳定版
https://gerrit.pt.mioffice.cn/q/Add+logging+switch+for+ams+debug
https://gerrit.pt.mioffice.cn/c/platform/frameworks/base/+/2231476
更多
后续应该实现可以在app端进程启动之前打开debug log开关