快速寻找Activity/Fragmente及打印Logcat信息的ADB常用命令

我们在接触一个新的项目或入职新公司接手项目,特别是大型项目,对项目不熟悉,有些小伙伴经常去找同事帮忙找这个页面对应是那个Activity或Fragment时,如果是长时间去问这些问题,会大量浪费同事的时间,同时对我们自己的成长不是很好。我们要学会怎么去找切入口。下面分享自己在日常开发使用的adb命令(基于windows平台),我平时怎么快速定位页面对应的Activity或Fragment,打印日志信息也很关键的实战所用到的,希望帮到大家。

ADB查看APP的常用命令

查看当前界面Activity:

adb shell "dumpsys activity top | grep ACTIVITY | tail -n 1"
  • dumpsys activity top :打印顶层Activity信息
  • grep ACTIVITY:从上个命令结果中过滤出Activity相关信息
  • tail -n 1:从上一步过滤结果中继续过滤出最后一条记录,也就是当前界面(顶层top)activity

查看当前界面Fragment:

adb shell "dumpsys activity top | grep '#0: ' | tail -n 1"
或adb shell "dumpsys activity top | grep '#[0-9]: ' | tail -n 1"
  • grep '#0: ' : 当前第一个Fragment

如果不知道一个Activity里有几个Fragment,使用这命令,Activity信息栈里显示有那些相关的Fragment

adb shell dumpsys activity top
命令 描述
adb shell ps 查看进程
adb shell dumpsys activity 获取当前 Android 系统 Activity 栈中 Activity 信息
adb shell dumpsys activity top 获取当前 Android 系统 中与用户交互的 Activity 的详细信息
adb shell dumpsys meminfo 应用包名 查看应用的内存使用情况
adb shell dumpsys package 应用包名 获取手机里面某个 apk 的应用信息、版本信息
adb shell pm list package -3 列出所有的应用的包名 (-s:列出系统应用 -3:列出第三方应用 -f:列出应用包名及对应的apk名及存放位置 -i:列出应用包名及其安装来源)
adb shell dumpsys activity activities 显示当前所有在运行的任务栈,并可查看栈中所有的 Activity 的列表
adb shell wm size 手机屏幕分辨率
adb shell wm density 手机屏幕密度
adb shell getprop ro.product.model 查看设备型号

获取连接的设备列表及设备状态

adb devices

安装APK

adb install path_to_apk

-l向前锁定应用
adb install -l your.apk #forward lock application
-r替换已存在应用
adb install -r test.apk #replace existing application
-t测试package标志
adb install -t test.apk #allow test packages
-s将应用安装到sdcard
adb install -s test.apk #install application on sdcard
-d忽略版本号安装apk
adb install -d test.apk #allow version code downgrade
-p部分安装apk标志
  • path_to_apk:指apk的绝对路径

卸载 APK

adb uninstall 应用包名
//使用-k参数:保留安装包的数据和缓存目录
adb uninstall -k 应用包名 

Logcat常用命令

捕捉手机里已经发生过的崩溃日志,bugreport是支持所有手机日志信息

D:\bugreport>adb bugreport > 123.txt

输出到指定目录到123.txt文件(过程需要等待几分钟时间),会down下一个所有日志的压缩包。

在此目录下输入命令:findstr "FATAL EXCEPTION" .\** 找异常所有的对应文件,然后打开对应的文件,然后全文搜索FATAL EXCEPTION,就可以找出问题所在。

查看命令帮助, 查看一下一些简单的数据格式

adb logcat --help

使用命令adb logcat的打印:从上而下,优先级最高
V - Verbose(lowest priority:优先级最低,输出得最多)
D - Debug
I - Info
W - Warning
E - Error
F - Fatal
S - Silent(highest priority,on which nothing is ever printed:优先级最高,啥也不输出)

清除缓存信息

adb logcat -c
  • 最好的做法的先使用-c清除之前的日志信息,再触发事件,查看最近的日志信息。

使用tag以后级别失效的原因是没有加上*:S。不加静默所有其他日志的选项就会把其他日志都输出。

在developers文档有介绍 Logcat 命令行工具 | Android 开发者 | Android Developers (google.cn)

打印优先级为Error以上的日志信息。

adb logcat *:E
  • *表示任何的Tag
  • E表示优先级

显示所有优先级Warning以上的日志

adb logcat *:W *:S

打印时间和优先级为Error以上的日志信息:

adb logcat -v time *:E *:S

把日志信息保存到电脑上D盘log.txt文件上

adb logcat -v time *:E *:S > D:\log.txt

如果需要精准到某他APP上,则在其后面添加上 " | findstr app进程ID"

注意:

Window环境:findstr
Mac或Linux环境:grep

打印某个APP下,且tag为tagName的info级别以上的信息

adb logcat TagName:I *:S | findstr app进程ID

打印某个APP的某个Tag的logcat信息(级别从E到S)

adb logcat TagName:E *:S | findstr app进程ID

打印某个APP的某些Tag的logcat信息(级别从E到S)

adb logcat TagName:E Tag:E *:S | findstr app进程ID
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 196,165评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,503评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,295评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,589评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,439评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,342评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,749评论 3 387
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,397评论 0 255
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,700评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,740评论 2 313
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,523评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,364评论 3 314
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,755评论 3 300
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,024评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,297评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,721评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,918评论 2 336

推荐阅读更多精彩内容