1.现有版本下直接打开v级别的sensor hal层的log
方法一
导出机器文件 /system/build.prop
adb root
adb pull /system/build.prop .
start .
在build.prop
里添加
persist.debug.sensors.hal=v
persist.vendor.debug.sensors.hal=v
persist.vendor.sensors.debug.hal=v
persist.debug.sensors.daemon=v
persist.vendor.debug.sensors.daemon=v
persist.vendor.sensors.debug.daemon=v
将修改好的build.prop
push到机器里
adb push build.prop /system
adb shell chmod 644 /system/build.prop
adb shell sync
adb reboot
方法二
编写脚本
adb root
adb wait-for-device
adb remount
adb shell "echo persist.vendor.sensors.debug.hal=v >> /system/build.prop"
adb shell "echo persist.vendor.sensors.debug.stats=true >> /system/build.prop"
adb shell "echo setprop persist.vendor.sensors.no_audio=true >> /system/build.prop"
adb shell "echo persist.vendor.sensors.debug.ssc_latency=true >> /system/build.prop"
adb shell sync
adb reboot
有时候上述方法不可行,需要改动代码后,编译sensors.ssc.so
,push到机器中
2.修改代码打开sensor hal层的v等级的log打印
在sensor_hal.cpp中修改
void sensors_hal::get_system_config()
{
char debug_prop[PROPERTY_VALUE_MAX];
int len;
len = property_get(SENSORS_HAL_PROP_DEBUG, debug_prop, "i");
if (len > 0) {
if (log_level_map.find(debug_prop[0]) != log_level_map.end()) {
_sysconfig.log_level = log_level_map.at(debug_prop[0]);
}
}
_sysconfig.log_level = sensors_log::VERBOSE; //添加这一行
sns_logi("log_level: %d", _sysconfig.log_level);
}
编译sensors.ssc.so
export LC_ALL=C
source build/envsetup.sh
lunch
make sensors.ssc
编译生成out/target/product/project/vendor/lib/sensors.ssc.so
,push到机器里。
如果该方法不可行,请进行全编。