# Author: 艾明铭
set -e # 遇到错误时就退出
description=$1 # 问题描述
function log_info() {
printf "%b\n" "\033[0;32m$*\033[0m"
}
log_info "将Android设备上的日志(main_log)和最新一个回录视频保存到本地"
trap "log_info '10秒后自动退出'; sleep 10" EXIT
log_info "连接设备..."
adb wait-for-device
#adb root && adb remount
#adb exec-out input tap 30 30 # 点击屏幕坐标,需把回录工具的保存按钮放在左上角靠近坐标原点的位置
if [[ -z ${description} ]]; then
read -r -p "请输入问题描述:" description
fi
save_dir="record_$(date +'%Y_%m%d_%H%M%S')_${description}" # 本地保存目录
mkdir "${save_dir}"
# 车机上的日志和回录视频路径
# 注意:git bash中使用adb push和adb pull时,以/开头的路径转换会出错,需多加一个/
log_path=//resources/android_log/AdayoLog/logcat
video_path=//storage/emulated/0/Android/data/com.senseauto.aivisible/files/Movies/SenseAuto/.
#log_info "屏幕截图..."
#adb exec-out screencap -p >"${save_dir}/screen_shot.png"
log_info "保存日志..."
# 查找修改时间在1分钟内的日志
adb exec-out "find ${log_path} -maxdepth 2 -type f -iname '*.txt' -mmin -1" | while IFS= read -r main_log; do
adb pull "${main_log}" "${save_dir}"
done
log_info "保存视频..."
# 查找修改时间在1分钟内的视频
adb exec-out "find ${video_path} -type f -iname '*.mp4' -mmin -1" | while IFS= read -r video; do
adb pull "${video}" "${save_dir}" && adb exec-out "rm -rf ${video}"
done
#adb exec-out "rm -rf ${log_path}/*"
adb exec-out "find ${video_path} -type f -iname '*.mp4' -mmin +5 -delete" # 删除5分钟前的回录视频
log_info "数据已保存到 ${save_dir}"
车机回录功能,一键保存到本地
最新推荐文章于 2024-07-19 21:01:05 发布