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: UID: GIDs: ActivityThread D ActivityThread,attachApplication
HwCust D Create obj success use class android.content.res.HwCustHwResourcesImpl
AnalyticUtils D experience =
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

Android之在linux终端执行shell脚本直接打印当前运行app的日志的更多相关文章

  1. Linux终端执行shell脚本,提示权限不够的解决办法

    原文:http://blog.csdn.net/this_capslock/article/details/17415409 今天在Linux尝试搭建dynamips的工作环境,在执行shell脚本时 ...

  2. Linux终端执行shell脚本,提示权限不够

    在学习dubbo过程中,上传自己写的脚本,执行的时候提示“权限不够”,从网上了解到是因为没有为脚本赋权限 解决方法是使用chmod命令为shell脚本赋予权限 chmod 777 ./service- ...

  3. Linux中执行shell脚本的4种方法总结

    bash shell 脚本的方法有多种,现在作个小结.假设我们编写好的shell脚本的文件名为hello.sh,文件位置在/data/shell目录中并已有执行权限. 方法一:切换到shell脚本所在 ...

  4. Linux中执行shell脚本的4种方法

    bash shell 脚本的方法有多种,现在作个小结.假设我们编写好的shell脚本的文件名为hello.sh,文件位置在/data/shell目录中并已有执行权限. 方法一:切换到shell脚本所在 ...

  5. 每天一个linux命令(62):sh命令 /Linux中执行shell脚本的4种方法总结

    bash shell 脚本的方法有多种,现在作个小结.假设我们编写好的shell脚本的文件名为hello.sh,文件位置在/data/shell目录中并已有执行权限. 方法一:切换到shell脚本所在 ...

  6. Linux中执行shell脚本命令的4种方法总结

    bash shell 脚本的方法有多种,现在作个小结.假设我们编写好的shell脚本的文件名为hello.sh,文件位置在/data/shell目录中并已有执行权限. 方法一:切换到shell脚本所在 ...

  7. 【转】linux 定时执行shell脚本

    在oracle 中可以利用dbms_job包定时执行pl/sql.sql过程,在像备份等需要在操作系统级定时任务只能采用crontab来完成 本文讲述crontab具体用法,以供备忘. 在oracle ...

  8. linux 定时执行shell脚本

    转自:http://blog.csdn.net/jingxiangren/article/details/4745631 在oracle 中可以利用dbms_job包定时执行pl/sql.sql过程, ...

  9. mac链接linux终端,shell脚本发布代码

    项目的业务需求:从mac端直接连上linux服务终端,并发布相关的代码 一.使用ssh链接上linux服务端 1.cd ~/.ssh 2.vi config,按照下面的内容配置config文件,然后: ...

随机推荐

  1. How to resize or create a thumbnail image from file stream on UWP

    最近在搞Ocr相关的windows universal app, 用到了一些图像处理相关的知识. 涉及到了BitmapDecoder/BitmapEncoder/IRandomAccessStream ...

  2. Storm中的定时任务

    1.全局定时器 import java.util.Map; import backtype.storm.Config; import backtype.storm.Constants; import ...

  3. logstash笔记(一)——redis&es

    下载地址: https://www.elastic.co/downloads 版本:logstash-2.2.2 两台linux虚拟机,一台windows宿主机 shipper: 192.168.22 ...

  4. html中引入调用另一个公用html模板文件的方法

    html中引入调用另一个公用html模板文件的方法 https://www.w3h5.com/post/53.html 这里我使用jquery的方法 <body> <div id=& ...

  5. Method 'initializationerror' not found.Opening the test classs JUnit4单元测试报错问题解决办法(图文详解)

    不多说,直接上干货! 问题现象 今天使用JUnit 4进行单元测试时,测试程序一直运行不起来,报method initializationerror not found错误,如下: 问题分析 网上说版 ...

  6. php -- 文件读写

    ----- 024-file.php ----- <!DOCTYPE html> <html> <head> <meta http-equiv="c ...

  7. 第一次项目上Linux服务器(四:CentOS6下Mysql数据库的安装与配置(转))

    一.mysql简介 说到数据库,我们大多想到的是关系型数据库,比如mysql.oracle.sqlserver等等,这些数据库软件在windows上安装都非常的方便,在Linux上如果要安装数据库,咱 ...

  8. elasticSearch6源码分析(12)DiscoveryModule

    1.DiscoveryModule概述 /** * A module for loading classes for node discovery. */ 2.discovery The discov ...

  9. 网络之XML解析-GData

    GDataXML是一套Google使用Objective-C开发的DOM方式XML解析类库,支持读取和修改XML文档,支持XPath方式查询, GDataXML 是 iOS 下的一款轻量级 XML 解 ...

  10. Netty 核心组件 EventLoop 源码解析

    前言 在前文 Netty 启动过程源码分析 (本文超长慎读)(基于4.1.23) 中,我们分析了整个服务器端的启动过程.在那篇文章中,我们重点关注了启动过程,而在启动过程中对核心组件并没有进行详细介绍 ...