温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Android之在linux终端执行shell脚本直接打印当前运行app的日志的实现方法

发布时间:2020-10-24 21:16:57 来源:脚本之家 阅读:369 作者:chenyu_insist 栏目:移动开发

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

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对亿速云的支持。如果你想了解更多相关内容请查看下面相关链接

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI