zoukankan      html  css  js  c++  java
  • Android之在linux终端执行shell脚本直接打印当前运行app的日志

    1、问题

    我们一般很多时候会需要在ubuntu终端上打印当前运行app的日志,我们一般常见的做法是

    1)、获取包名

          打开当前运行的app,然后输入如下命令,然后在第一行TASK后面的就可以看到包名

    adb shell dumpsys activity top

    2)、我们的终端安装了pidcat.py脚本,然后执行如下的命令就可以打印当前运行app的全日志,

    pidcat.py packageName

    3)、思考,为什么每次都需要这样重复的操作呢?一说到重复,我们应该立马想到是否可以用脚本解决重复操作

    2、解决办法

    通过执行脚本文件获取包名,然后再执行pidcat.py packageName命令

    3、代码实现

    1)、新建pcat文件

    #!/bin/bash
     
    dev="device"
     
    devices=$(adb devices)
     
    if [[ ${devices} == *$dev ]]
    then
       echo "手机已经连接好终端"
       info=$(adb shell dumpsys activity top | awk -F " " '/TASK/ {print $2}')
       echo "当前运行app的包名是:${info}"
       pidcat.py --hw ${info}
    else
      echo "手机没有连接好终端"
    fi

    2)、把pcat文件复制到下面目录

    /usr/local/bin/

    4、测试结果

    1)、打开手机"游戏中心"的app

    2)、在终端输入pcat

    3)、终端运行结果

    *****~$ pcat 
    手机已经连接好终端
    当前运行app的包名是:com.huawei.gamebox
                     Zygote  D  CtrlSocket libc.so ctrl_sockets_set_addr pfunc is not exist!
     
                                Process com.huawei.gamebox created for activity com.huawei.gamebox/.GameBoxActivity
                                PID: 29758   UID:    GIDs: 
     
             ActivityThread  D  ActivityThread,attachApplication
                     HwCust  D  Create obj success use class android.content.res.HwCustHwResourcesImpl
              AnalyticUtils  D  experience = 1
           StoreApplication  D  create application.
            HwPolicyFactory  V  : success to get AllImpl object and return....
            HwWidgetFactory  V  : successes to get AllImpl object and return....
             ActivityThread  V  ActivityThread,callActivityOnCreate

    5、总结

    重复的操作我们可以用脚本解决问题,提高开发效率,要记得用这个之前确保你的终端能运行pidcat

  • 相关阅读:
    RHEL6 搭建 keepalived + lvs/DR 集群
    LeetCode 104. Maximum Depth of Binary Tree
    JAVA面试精选【Java基础第二部分】
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    为什么支付宝不怕你欠债?
  • 原文地址:https://www.cnblogs.com/zhujiabin/p/10557991.html
Copyright © 2011-2022 走看看