Android之在linux终端执行shell脚本直接打印当前运行app的日志的实现方法
2019/7/7 21:47:16
本文主要是介绍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
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对找一找教程网的支持。如果你想了解更多相关内容请查看下面相关链接
这篇关于Android之在linux终端执行shell脚本直接打印当前运行app的日志的实现方法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-01-18android.permission.read_media_video
- 2024-01-18android_getaddrinfo failed eai_nodata
- 2024-01-18androidmo
- 2024-01-15Android下三种离屏渲染技术
- 2024-01-09Android 蓝牙使用
- 2024-01-06Android对接华为AI - 文本识别
- 2023-11-15代码安全之代码混淆及加固(Android)
- 2023-11-10简述Android语音播报TTS
- 2023-11-06Android WiFi工具类
- 2023-07-22Android开发未来的出路