• 自动将mtklog以及trace信息到处到自定的目录文件中


     未经允许,请勿转载!!! 

     在指定的目录中以日期为目录记录,可以在运行的时候在后面添加对用的name,生成的文件目录会加上对用的name。

    #!/bin/bash
    #@ echo ***
    ####按格式获取时间信息
    date_ymd=$(date +%Y%m%d)
    date_hm=$(date +%Y%m%d_%H_%M)
    #######设置需要获取的地址
    mtklog_src_path="/storage/emulated/0/mtklog"
    mtklog_dst_path="/home/putao/virtualbox/mtklog/$date_ymd/$date_hm"
    mtktrace_src_path="/data/anr/"
    mtktrace_dst_path=$mtklog_dst_path
    #echo -e "$mtklog_src_path $mtklog_dst_path $mtktrace_src_path "
    ####初始化设备连接状态
    is_device_connect="disconnect"
    #### 设置设备的判断条件
    deviceMatch="device"
    IsDevice="ture"
    ####设置最大等待时间 一次循环1s
    waitTimeout=20
    ####初始化等待时间 单位s
    waitCount=0
    ##########数字比较方法
    #if [ $waitCount -gt $waitTimeout ]
    #then
    # echo -e "+++ "
    #else
    # echo -e "--- "
    #fi
    ########判断设备是否链接函数
    function is_device_plugin()
    {
    echo "is device plugin!"
    # [[ "$IsDevice" != "" ]]
    ####一直循环判断 直到匹配道设备或者超时退出
    while ((1))
    do
    deviceInfo=$(adb devices)
    ####判断是否有设备插入
    IsDevice=$(echo $deviceInfo | grep -w "$deviceMatch")
    # echo -e " $deviceInfo $deviceMatch $IsDevice "
    if [[ "$IsDevice" != "" ]]
    then
    echo "ok"
    ####当有设备插入时设置标记量 并返回 shell函数只能返回数字
    is_device_connect="connect"
    return 1
    else
    ####匹配失败 休眠1s
    sleep 1s
    ####对计数时间进行累加1
    let waitCount++
    ####打印匹配失败信息 给出提示
    echo "device connect fail $waitCount $waitTimeout"
    ####如果超时直接退出循环
    if [ $waitCount -gt $waitTimeout ]
    then
    break
    fi
    fi
    done
    #####匹配失败退出循环后 打印信息 并设置标记量 同时返回
    echo "wait timeout " $waitCount "s"
    is_device_connect="disconnect"
    return 0

    }
    #######判断设备是否链接函数 结束
    #####
    #####
    #####调用函数判断设备是否链接(函数会自行循环查询waitTimeout S )
    is_device_plugin
    #####获取函数返回值
    isDeviceResult=$?
    @echo -e " $isDeviceResult $is_device_connect "
    ####使用函数返回值判断 执行adb root 命令 失败直接结束脚本
    if [[ $isDeviceResult = 1 ]]
    then
    echo "++++adb root"
    adb root
    else
    echo -e "no devices connect! "
    exit
    fi
    #####调用函数判断设备是否连接
    is_device_plugin
    @echo -e " $isDeviceResult $is_device_connect "
    ####使用链接状态标记量判断 执行adb remount 命令
    if [[ $is_device_connect == connect ]]
    then
    echo "++++adb remount"
    adb remount
    else
    echo -e "devices connect timeout! "
    exit
    fi
    ##### 提取对应目录的log
    adb pull $mtktrace_src_path $mtktrace_dst_path
    adb pull $mtklog_src_path $mtklog_dst_path


    ##### 脚本结束

      注:这里的等待是否有adb设备插入采用的是轮询的方式,超时及返回,时间可以设置。

        也可以调用adb wait-for-device 操作,相当于阻塞函数,只有有设备插入才会返回进行下面的步骤。

  • 相关阅读:
    递延收益的主要账务处理
    少数股东权益
    一揽子交易中处置价款与净资产账面价值差额为什么计入其他综合收益
    为什么权益法下其他综合收益合并时要计入投资收益
    R语言代写实现MCMC中的Metropolis–Hastings算法与吉布斯采样
    加速R语言代码的策略
    R语言代写:EM算法和高斯混合模型的实现
    R语言代写进行网站评论文本数据挖掘聚类
    R语言代写对推特数据进行文本情感分析
    WEKA代写文本挖掘分析垃圾邮件分类模型
  • 原文地址:https://www.cnblogs.com/atlas2016/p/7572035.html
Copyright © 2020-2023  润新知