ADB使用

ADB 实例

  • 查看已安装应用

1、基本命令: adb shell pm list packages

Packages 是 APP 的包名

2、参数:

参数 显示列表
所有应用
-f 显示应用关联的 apk 文件
-d 只显示 disabled 的应用
-e 只显示 enabled 的应用
-s 只显示系统应用
-3 只显示第三方应用
-i 显示应用的 installer
-u 包含已卸载应用
  包名包含 字符串

 

3、实例:

 

《ADB & Fastboot 简介与使用》

 

package:

com.HBuilder.integrate  要测试的包名    

 

如何只查看某个app日志的方法

adb shell ps  PID就是进程号

 

adb shell "logcat | grep 15076"

adb shell "logcat -d | grep com.HBuilder.integrate"

查看包名进程

adb shell ps | findstr com.HBuilder.integrate

3.根据进程来查看过滤app的日志

adb logcat | findstr vchat.A  不能用 ,具体原因未知

 

adb进阶知识,如何过滤只查看某一个app的日志

https://www.cnblogs.com/YouxiYouxi/p/11328854.html

adb logcat过滤日志

原文链接:https://www.jianshu.com/p/dbc96dac730c
 

常用的log日志命令:

1:打印默认日志数据
adb logcat

2:需要打印日志详细时间的简单数据
adb logcat -v time

3:需要打印级别为Error的信息
adb logcat *:E

4:需要打印时间和级别是Error的信息
adb logcat -v time *:E

5:将日志保存到电脑固定的位置,比如D:\log.txt
adb logcat -v time >D:\log.txt

过滤日志的几种方式:

  1. 清除日志缓冲区:
    logcat 有缓存,如果仅需要查看当前开始的 log,需要清空之前的。
    $ adb locat -c

  2. 根据日志优先级过滤日志
    $ adb logcat *:#
    Log日志级别:
    V: 详细日志(默认)
    D: 调试信息
    I :正常使用时的日志信息
    W: 警告
    E:错误
    F:运行时发生的致命错误
    所有的优先级都自动包括比它高的优先级,因此 adb logcat *:W包括警告、错误、致命信息。

  3. 根据标签过滤日志
    第2条中的根据日志优先级过滤日志通常是跟标签一起使用。
    语法:adb logcat <tag>[:priority]
    (tag表示标签,priority输出的级别)
    adb logcat :W,其实可以是某个tag,如果没有指明,就表示所有。
    例子:Log.w("Test", info );
    这句打印通过标签和优先级过滤命令是:adb logcat Test:I

注意:
(1)可以指定多个[TAG:LEVEL ]
(2) level : S 表示为不输出该标签的日志,应为没有大于S级别的日志了
(3)[TAG:LEVEL ] 不会影响其他标签的日志, 所以如果要屏蔽其他log请使用 :S
(4)网上有网友说使用tag标签命令,并没有成功过滤。并且使用tag后,后面的级别也无效了,所以tag使用
号比较保险。

  1. 采用grep正则表达式过滤
    (1)只输出需要的内容,例如:简单的匹配一行当中的某个字符串
    adb logcat | grep MyApp
    adb logcat | grep -i myapp #忽略大小写。
    adb logcat | grep --color=auto -i myapp #设置匹配字符串颜色
    (2)显示同一个进程的所有输出
    adb logcat | grep –color=auto $pid

Logcat命令列表:

-d 将日志显示在控制台后退出
-c 清理已存在的日志
-f <filename> 将日志输出到文件(把日志输出到手机指定目录)
adb logcat -f /sdcard/test.txt

-v <format>设置日志输入格式控制输出字段,默认的是brief格式
如果需要的是普通日志那么使用-v time就可以了,
如果需要查看线程区别使用 -v threadtime就可以了,其他日志基本也是少用的。

brief — 显示优先级/标记和原始进程的PID (默认格式)
process — 仅显示进程PID
tag — 仅显示优先级/标记
thread — 仅显示进程:线程和优先级/标记
raw — 显示原始的日志信息,没有其他的元数据字段
time — 显示日期,调用时间,优先级/标记,PID
long —显示所有的元数据字段并且用空行分隔消息内容

adb logcat -v thread //使用 thread 输出格式
注意-v 选项中只能指定一种格式。

-b <buffer>加载一个可使用的日志缓冲区供查看,默认值是main。
radio — 查看包含在无线/电话相关的缓冲区消息
events — 查看事件相关的消息
main — 查看主缓冲区 (默认缓冲区)

adb logcat -b radio //查看radio缓冲区

 

 

 

 

 

 

 

adb基础命令

有些手机需要解锁system分区(如小米)

输入:adb root

输入:adb disable-verity

查看手机连接状态:adb device

获得root权限:root

设置超级用户模式 : su

退出su : exit

重启命令:adb reboot

重启到Rec:adb reboot recovery

重启到Fastboot:adb reboot bootloader

推送ROM包:adb sideload <Rom包>

把文件从手机中复制到电脑上 : adb pull <手机路径> <电脑路径>

把文件从电脑复制到手机上 : adb push <电脑路径> <手机路径>

重新挂载文件系统 : adb remount

安装软件 : adb install apk文件名称.apk

卸载apk软件 : adb uninstall apk包名.apk

Fastboot命令:

查看连接状态 :fastboot devices

重启 :fastboot reboot

重启到Fastboot :fastboot reboot-bootloader

除非你很了解该命令,否则以下命令请谨慎使用:

解锁 :fastboot flashing unlock或fastboot oem unlock

上锁 :fastboot flashing lock或fastboot oem lock

清除分区数据 :fastboot erase <boot/system/data/cache/userdata/recovery>

清除分区(四清) :fastboot erase system -w

格式化分区数据 :fastboot format <boot/system/data/cache/userdata/recovery>

烧写分区 :fastboot flash < boot/system /recovery/radio/bootloader/ splash1/> <*.img>