Android Q 持久化logcat日志
一.背景: Android开发经常遇到一个问题,测试提供的日志没有抓到问题发生点的日志,也就是问题发生时的日志被设备最新的日志冲刷掉了 二.解决思路: 在和谷歌的沟通过程中,谷歌在日志系统中明确要求合作伙伴的开发人员提供bugreport.zip。在这个压缩包中,解压后的bugreport-你的设备名称-2019-11-26-11-19-49.zip\FS\data\misc\logd中会持久化的保存logcat日志(最多255个) 那么顺着谷歌的思路,很容易联想到adb shell进入设备命令行,查看data\misc\logd目录下的文件 接下来在opengrok中搜索“data/misc/logd”很容易就能搜索到logd相关的文件。 介绍logd配置的文件是:system/core/logcat/logpersist和system/core/logd/README.property,两个文件很容易看懂意思,简单来说就是通过build.prop配置属性,然后开启logd服务,保存logcat日志 三.解决方案 在device/设备厂商/xxx.mk下,配置如下内容即可使上述功能生效: ifeq ($(TARGET_BUILD_VARIANT),userdebug) PRODUCT_DEFAULT_PROPERTY_OVERRIDES+= \ persist.logd