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


Posted in Python onJanuary 16, 2015

在Android软件开发中,增加日志的作用很重要,便于我们了解程序的执行情况和数据。Eclipse开发工具会提供了可视化的工具,但是还是感觉终端效率会高一些,于是自己写了一个python的脚本来通过包名来过滤某一程序的日志。

原理

通过包名得到对应的进程ID(可能多个),然后使用adb logcat 过滤进程ID即可得到对应程序的日志。

源码

#!/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)

使用方法

python logcatPkg.py com.mx.browser

最新代码

#!/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)

不足

当脚本执行后,Android程序如果关闭或者重新启动,导致进程ID变化,无法自动继续输出日志,只能再次执行此脚本。

Python 相关文章推荐
python查找第k小元素代码分享
Dec 18 Python
浅谈django开发者模式中的autoreload是如何实现的
Aug 18 Python
Python之Scrapy爬虫框架安装及简单使用详解
Dec 22 Python
Python中getpass模块无回显输入源码解析
Jan 11 Python
Python实现获取邮箱内容并解析的方法示例
Jun 16 Python
Python使用itertools模块实现排列组合功能示例
Jul 02 Python
2019 Python最新面试题及答案16道题
Apr 11 Python
python网络爬虫 Scrapy中selenium用法详解
Sep 28 Python
命令行运行Python脚本时传入参数的三种方式详解
Oct 11 Python
Python爬取365好书中小说代码实例
Feb 28 Python
用python给csv里的数据排序的具体代码
Jul 17 Python
C站最全Python标准库总结,你想要的都在这里
Jul 03 Python
Python中的对象,方法,类,实例,函数用法分析
Jan 15 #Python
Python转换HTML到Text纯文本的方法
Jan 15 #Python
python中os操作文件及文件路径实例汇总
Jan 15 #Python
python私有属性和方法实例分析
Jan 15 #Python
python实现堆栈与队列的方法
Jan 15 #Python
python多线程用法实例详解
Jan 15 #Python
Python中os.path用法分析
Jan 15 #Python
You might like
MySql 按时间段查询数据方法(实例说明)
2008/11/02 PHP
CodeIgniter框架过滤HTML危险代码
2014/06/12 PHP
php实现的SSO单点登录系统接入功能示例分析
2016/10/12 PHP
PHP实现SMTP邮件的发送实例
2018/09/27 PHP
jQuery源码分析之Event事件分析
2010/06/07 Javascript
ajax异步刷新实现更新数据库
2012/12/03 Javascript
JSON+JavaScript处理JSON的简单例子
2013/03/20 Javascript
关于textarea提交的内容无法换行的解决办法
2013/04/09 Javascript
jquery ajax请求方式与提示用户正在处理请稍等
2014/09/01 Javascript
Jquery数字上下滚动动态切换插件
2015/08/08 Javascript
jquery按回车键实现表单提交的简单实例
2016/05/25 Javascript
BootStrap Tooltip插件源码解析
2016/12/27 Javascript
JavaScript中捕获与冒泡详解及实例
2017/02/03 Javascript
利用js查找数组中指定元素并返回该元素的所有索引示例
2017/03/29 Javascript
微信小程序 滚动到某个位置添加class效果实现代码
2017/04/19 Javascript
微信小程序 http请求的session管理
2017/06/07 Javascript
ReactNative中使用Redux架构总结
2017/12/15 Javascript
ES6中Set和Map数据结构,Map与其它数据结构互相转换操作实例详解
2019/02/28 Javascript
Element-ui树形控件el-tree自定义增删改和局部刷新及懒加载操作
2020/08/31 Javascript
[01:01:01]完美世界DOTA2联赛循环赛 GXR vs FTD BO2第一场 10.29
2020/10/29 DOTA
python中的__init__ 、__new__、__call__小结
2014/04/25 Python
python中requests小技巧
2017/05/10 Python
Python进程间通信之共享内存详解
2017/10/30 Python
python执行系统命令后获取返回值的几种方式集合
2018/05/12 Python
Python 实现输入任意多个数,并计算其平均值的例子
2019/07/16 Python
python递归函数求n的阶乘,优缺点及递归次数设置方式
2020/04/02 Python
Pycharm安装python库的方法
2020/11/24 Python
美国著名的户外用品品牌:L.L.Bean
2018/01/05 全球购物
2019年Java面试必问之经典试题
2012/09/12 面试题
linux面试题参考答案(4)
2014/09/21 面试题
管理学专业个人求职信范文
2013/09/21 职场文书
移动通信专业自荐信范文
2013/11/12 职场文书
运动会四百米广播稿
2014/01/19 职场文书
关于安全的广播稿
2014/10/23 职场文书
婚前协议书范本
2014/10/27 职场文书
2015年前台个人工作总结
2015/04/03 职场文书