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: 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的日志的更多相关文章
- Linux终端执行shell脚本,提示权限不够的解决办法
原文:http://blog.csdn.net/this_capslock/article/details/17415409 今天在Linux尝试搭建dynamips的工作环境,在执行shell脚本时 ...
- Linux终端执行shell脚本,提示权限不够
在学习dubbo过程中,上传自己写的脚本,执行的时候提示“权限不够”,从网上了解到是因为没有为脚本赋权限 解决方法是使用chmod命令为shell脚本赋予权限 chmod 777 ./service- ...
- Linux中执行shell脚本的4种方法总结
bash shell 脚本的方法有多种,现在作个小结.假设我们编写好的shell脚本的文件名为hello.sh,文件位置在/data/shell目录中并已有执行权限. 方法一:切换到shell脚本所在 ...
- Linux中执行shell脚本的4种方法
bash shell 脚本的方法有多种,现在作个小结.假设我们编写好的shell脚本的文件名为hello.sh,文件位置在/data/shell目录中并已有执行权限. 方法一:切换到shell脚本所在 ...
- 每天一个linux命令(62):sh命令 /Linux中执行shell脚本的4种方法总结
bash shell 脚本的方法有多种,现在作个小结.假设我们编写好的shell脚本的文件名为hello.sh,文件位置在/data/shell目录中并已有执行权限. 方法一:切换到shell脚本所在 ...
- Linux中执行shell脚本命令的4种方法总结
bash shell 脚本的方法有多种,现在作个小结.假设我们编写好的shell脚本的文件名为hello.sh,文件位置在/data/shell目录中并已有执行权限. 方法一:切换到shell脚本所在 ...
- 【转】linux 定时执行shell脚本
在oracle 中可以利用dbms_job包定时执行pl/sql.sql过程,在像备份等需要在操作系统级定时任务只能采用crontab来完成 本文讲述crontab具体用法,以供备忘. 在oracle ...
- linux 定时执行shell脚本
转自:http://blog.csdn.net/jingxiangren/article/details/4745631 在oracle 中可以利用dbms_job包定时执行pl/sql.sql过程, ...
- mac链接linux终端,shell脚本发布代码
项目的业务需求:从mac端直接连上linux服务终端,并发布相关的代码 一.使用ssh链接上linux服务端 1.cd ~/.ssh 2.vi config,按照下面的内容配置config文件,然后: ...
随机推荐
- idea 没有智能提示
开发工具要对源码产生提示,现在比较流行的是使用 .d.ts 文件 来编写提示消息 以下的解决办法不是根本之道,估计是开发工具有什么地方可以设置 自动下载 .d.ts 文件,知道的读者还请留言赐教~ 使 ...
- windows2016 安装mysql5.7
下载msi安装包,一路下一步. 安装好后,做下简单配置. 默认的my.ini和datadir在C:\ProgramData\MySQL Server 5.7下 更改默认my.ini的方法为修改注册表 ...
- 剑指offer十一之二进制中1的个数
一.题目 输入一个整数,输出该数二进制表示中1的个数.其中负数用补码表示. 二.思路 方法一: 用1(1自身左移运算,其实后来就不是1了)和n的每位进行位与,来判断1的个数 方法二: 把一个整数减去1 ...
- ES使用org.elasticsearch.client.transport.NoNodeAvailableException: No node available 错误解决方法
1) 端口错 client = new TransportClient().addTransportAddress(new InetSocketTransportAddress(ipAddress, ...
- 独立部署GlusterFS+Heketi实现Kubernetes共享存储
目录 环境 glusterfs配置 安装 测试 heketi配置 部署 简介 修改heketi配置文件 配置ssh密钥 启动heketi 生产案例 heketi添加glusterfs 添加cluste ...
- JavaScript -- Window-框架
-----025-Window-框架.html----- <!DOCTYPE html> <html> <head> <meta http-equiv=&qu ...
- 详解C#泛型(三)
一.前面两篇文章分别介绍了定义泛型类型.泛型委托.泛型接口以及声明泛型方法: 详解C#泛型(一) 详解C#泛型(二) 首先回顾下如何构建泛型类: public class MyClass<T&g ...
- docker-使用ali云加速
ali专用网络加速地址; https://yq.aliyun.com/articles/29941 使用ali加速 vim /etc/sysconfig/docker 添加: ADD_REGISTRY ...
- Java中的八大基本数据类型
Java中的基本类型主要包括整数.浮点数.字符和布尔类型. 整数: 整数类型主要包括byte.short.int.long四种类型,所占大小分别为1byte.2byte.4byte和8byte: 浮点 ...
- FFmpeg在JAVA中的使用-音频提取&字幕压缩
由于项目需求中涉及到视频中音频提取,以及字幕压缩的功能,一直在研究ffmpeg,仅仅两个功能,却深受ffmpeg的折磨. 今天谈谈ffmpeg在java中的简单使用,首先下载FFmpeg包,官方地址: ...