源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Python实现过滤单个Android程序日志脚本分享

  • 时间:2021-05-07 09:02 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Python实现过滤单个Android程序日志脚本分享
在Android软件开发中,增加日志的作用很重要,便于我们了解程序的执行情况和数据。Eclipse开发工具会提供了可视化的工具,但是还是感觉终端效率会高一些,于是自己写了一个python的脚本来通过包名来过滤某一程序的日志。 [b]原理[/b] 通过包名得到对应的进程ID(可能多个),然后使用adb logcat 过滤进程ID即可得到对应程序的日志。 [b]源码[/b]
[u]复制代码[/u] 代码如下:
#!/usr/bin/env python #coding:utf-8 #This script is aimed to grep logs by application(User should input a packageName and then we look up for the process ids then separate logs by process ids). import os import sys packageName=str(sys.argv[1]) command = "adb shell ps | grep %s | awk '{print $2}'"%(packageName) p = os.popen(command) ##for some applications,there are multiple processes,so we should get all the process id pid = p.readline().strip() filters = pid while(pid != ""):     pid = p.readline().strip()     if (pid != ''):         filters = filters +  "|" + pid         #print 'command = %s;filters=%s'%(command, filters) if (filters != '') :     cmd = 'adb logcat | grep --color=always -E "%s" '%(filters)     os.system(cmd)
[b]使用方法[/b]
[u]复制代码[/u] 代码如下:
python logcatPkg.py com.mx.browser
[b]最新代码[/b]
[u]复制代码[/u] 代码如下:
#!/usr/bin/env python #coding:utf-8 #This script is aimed to grep logs by application(User should input a packageName and then we look up for the process ids then separate logs by process ids). import os import sys packageName=str(sys.argv[1]) command = "adb shell ps | grep %s | awk '{print $2}'"%(packageName) p = os.popen(command) ##for some applications,there are multiple processes,so we should get all the process id pid = p.readline().strip() filters = pid while(pid != ""):     pid = p.readline().strip()     if (pid != ''):         filters = filters +  "|" + pid         #print 'command = %s;filters=%s'%(command, filters) if (filters != '') :     cmd = 'adb logcat | grep --color=always -E "%s" '%(filters)     os.system(cmd)
[b]不足[/b] 当脚本执行后,Android程序如果关闭或者重新启动,导致进程ID变化,无法自动继续输出日志,只能再次执行此脚本。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部