车机回录功能,一键保存到本地

# 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}"
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值