Android之在linux终端执行shell脚本直接打印当前运行app的日志的实现方法
作者:chenyu_insist 时间:2021-06-12 23:41:08
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
来源:https://blog.csdn.net/u011068702/article/details/80445107
标签:android,linux,shell脚本,app,打印日志
0
投稿
猜你喜欢
Android权限操作之uses-permission详解
2023-07-20 17:07:02
Android 蓝牙开发实例解析
2021-06-04 03:34:37
spring mvc url匹配禁用后缀访问操作
2021-11-19 23:57:34
Spring MVC的优点与核心接口_动力节点Java学院整理
2023-11-28 05:43:36
Spring Boot 动态数据源示例(多数据源自动切换)
2021-07-03 04:27:02
List集合对象中按照不同属性大小排序的实例
2023-06-07 14:27:41
JavaWeb后台购物车类实现代码详解
2023-11-09 23:11:26
25行Java代码将普通图片转换为字符画图片和文本的实现
2023-11-24 02:04:26
Android项目实战之ListView悬浮头部展现效果实现
2022-08-11 16:35:32
Java后端学习精华之TCP通信传输协议详解
2021-08-06 03:15:42
Android DownloadProvider 源码详解
2023-02-11 03:26:17
java进阶之了解SpringBoot的配置原理
2022-05-08 05:10:36
利用Java+Selenium+OpenCV模拟实现网页滑动验证
2021-07-23 02:45:18
C#调用FFmpeg操作音视频的实现示例
2021-10-08 12:40:00
教你轻松制作java视频播放器
2023-06-25 06:34:05
Android实现人脸支付的示例代码
2023-07-30 14:23:52
可空类型Nullable<T>用法详解
2023-01-19 19:54:28
在@Value注解内使用SPEL自定义函数方式
2022-04-26 20:59:41
Lombok基本注解之@SneakyThrows的作用
2021-12-24 15:30:47
SpringBoot Security密码加盐实例
2023-06-08 17:06:48