[TOC]

日志命令

adb logcat 查看日志

抓取崩溃日志

# 最近崩溃的栈日志,这个用于快速定位问题

adb shell dumpsys dropbox --print data_app_crash

# 复现bug 完整日志,先清空日志

adb logcat -c

# 存储在当前目录的 crash.log 中

adb logcat -v time > crash.log

# linux 系统可以使用 tee 一边输出一边记录

adb logcat -v time | tee crash.log

抓取 anr 日志

## root 过的设备

adb shell

cat /data/anr/traces.txt > /mnt/sdcard/0/traces.txt

exit

adb pull /mnt/sdcard/0/traces.txt .

# 注意某些机型可能文件名改过,需要自行判断

## 未root

# windows 系统 写入文件 bugreport.log

adb shell bugreport > bugreport.log

# linux 系统可以使用 tee 一边输出一边记录

adb shell bugreport | tee bugreport.log

adb wifi链接调试

# 开启 tcpip 调试

adb tcpip 5555

# 主机执行

adb connect [手机IP]

应用相关

查看应用列表

adb shell pm list package

# has root

adb shell ls /data/data/

adb启动/停止 应用程序

adb shell am start -n [packageName/StartActivity]

adb shell am force-stop [packageName]

端口映射

# 显示所有(PC —> DEVICE)映射的端口连接列表

adb forward —list

# 映射端口连接(PC —> DEVICE)

adb forward (local) (remote)

adb forward tcp:6100 tcp:7100

# 映射端口连接,但是如果local已经映射了就会失败

adb forward —no-rebind (local) (remote)

adb forward --no-rebind tcp:6100 tcp:7100

# 移除指定的映射端口连接

adb forward —remove tcp:6100

# 移除所有的映射端口连接

adb forward —remove-all

# 显示所有来自设备的(DEVICE —> PC)映射的端口连接列表

adb reverse —list

# 反向映射端口连接(DEVICE —> PC)

adb reverse (remote) (local)

adb reverse tcp:7000 tcp:5000

# 如果local已经映射了就会失败

adb reverse —no-rebind (remote) (local)

adb reverse --no-rebind tcp:7000 tcp:5000

# 移除指定的反向映射端口连接

adb reverse —remove tcp:7000

adb reverse —remove-all

应用安装卸载

# 获取apk的packagename 和 classname

aapt d badging

# 安装apk

adb install

# 保留数据和缓存文件,重新安装apk,

adb install -r

# 安装apk到sd卡

adb install -s

# 卸载app

adb uninstall

# 卸载app但保留数据和缓存文件

adb uninstall -k

# 同时安装包多个apk到设备上

adb install-multiple

adb install 参数

-l 锁定应用

-r 替换已存在的应用

-t 允许安装测试包

-s 安装到sd卡中

-d 可以安装低版本安装包

-p 安装部分应用

-g 授权所有运行时权限

应用状态查看

# 查看进程列表

adb shell ps

# 查看指定进程状态

adb shell ps -x [PID]

# 查看后台services信息

adb shell service list

# 查看IO内存分区

adb shell cat /proc/iomem

调试查看

列出所有拥有JDWP端口进程的进程号

adb jdwp

查看系统性能

adb shell am start -W 包名/Activity

文件操作

# 查看所有存储设备名

adb shell ls mnt

# 从本地复制文件到设备

adb push

# 从设备复制文件到本地

adb pull

# 列出目录下的文件和文件夹,等同于dos中的dir命令

adb shell ls

# 进入文件夹,等同于dos中的cd 命令

adb shell cd

# 重命名文件

adb shell rename path/oldfilename path/newfilename

# 删除system/avi.apk

adb shell rm /system/avi.apk

# 删除文件夹及其下面所有文件

adb shell rm -r

# 移动文件

adb shell mv path/file newpath/file

# 设置文件权限

adb shell chmod 777 [filePath]

# 新建文件夹

adb shell mkdir -d path/foldelname

adb sync

把Android设备上/system和/data目录中与主机目录中不一致的内容同步到主机上。

使用前需要设置主机目录地址的环境变量。

adb sync(未设置环境变量)

D:\Code\Git>adb sync

adb: Product directory not specified; use -p or define ANDROID_PRODUCT_OUT

set ANDROID_PRODUCT_OUT = (PATH)

D:\Code\Git>set ANDROID_PRODUCT_OUT = D:\Data\Android

adb sync(已设置环境变量)

D:\Code\Git>adb sync

syncing /system...

push: D:\Data\Android\system/app/WAPPushManager.apk -> /system/app/WAPPushManager.apk

文本操作

# 查看文件内容

adb shell cat

# 查看文件的头10行

adb shell head -n 10

# 查看文件的尾10行

adb shell tail -n 10

root权限操作

此操作需要root后的手机才可以执行

# 尝试开启root权限,adb连接会重置 成功会提示 restarting adbd as root

adb root

# 关闭root权限

adb unroot

# 重新挂载系统分区,使系统分区重新可写 成功提示 remount succeeded

adb remount

# 重启设备,进入recovery程序的sideload模式,需要root权限

adb reboot sideload

这样就可以操作Android系统文件

调试环境下的dm-verity检查

解锁 system 分区用这个

关闭在调试环境下的dm-verity检查

adb disable-verity

启用在调试环境下的dm-verity检查

adb enable-verity

系统项目

设备信息

# 完整设备信息

adb shell cat /system/build.prop

# 厂商信息

adb shell cat /system/build.prop | grep ro.product

环境变量

ADB_TRACE 指定打印调试信息,可以设置为以下列表中的值,用逗号隔开

adb、sockets、packets、rwx、usb、sync、sysdeps、transport和jdwp

ANDROID_SERIAL

指定要连接的设备,如果通过-s指定了则该变量不起作用

ANDROID_LOG_TAGS

在使用logcat的情况下,只有这些标签的调试信息才会打印

dumpsys

adb shell dumpsys wifi

adb shell dumpsys cpuinfo

可以dump当前运行的内容包括

编号

参数

1

SurfaceFlinger

2

accessibility

3

account

4

activity

5

alarm

6

appwidget

7

audio

8

backup

9

battery

10

batteryinfo

11

bluetooth

12

bluetooth_a2dp

13

clipboard

14

connectivity

15

content

16

cpuinfo

17

device_policy

18

devicestoragemonitor

19

diskstats

20

dropbox

21

entropy

22

ethernet

23

hardware

24

input_method

25

iphonesubinfo

26

isms

27

keybar

28

location

29

media.audio_flinger

30

media.audio_policy

31

media.camera

32

media.player

33

meminfo

34

mount

35

netsta

设备状态信息

# 查看设备cpu和内存占用情况

adb shell top

# 查看占用内存前6的app

adb shell top -m 6

# 刷新一次内存信息,然后返回

adb shell top -n 1

# MAC地址

adb shell cat /sys/class/net/wlan0/address

# CPU序列号

adb shell cat /proc/cpuinfo

备份

# 把设备的数据归档写入文件中

adb backup

adb backup -f backup.ab -all

-f 如果没有这个标识,数据将会写入到当前目录中的backup.ab文件中

-apk|-noapk 启用|禁用备份.apk文件自己,默认是noapk

-obb|-noobb 启用|禁用备份应用关联的apk扩展,默认是noobb

-shared|-noshared 启用|禁用备份设备共享存储/SD中的内容,默认是noshared

-all 备份所有安装的应用

-system|-nosystem 决定-all是否包含系统应用,默认是包含系统应用

packages... 将要备份的应用列表,如果设置了-all或-shared标识,那么这个参数将是可选的

从归档的备份文件中恢复设备内容

adb restore

adb restore backup.ab

设备操作

# 返回所有应该包含在错误报告中的设备信息

adb bugreport

# 重启

adb reboot

# 重启刷机模式

adb reboot bootloader

# 重启到恢复模式

adb reboot recovery

adb命令重置_Android ADB 常用命令相关推荐

  1. 中兴zxr10路由器重启命令_中兴交换机常用命令

    中兴交换机配置命令 ZTE交换机配置常用命令汇总 命令的使用要注意各种用户模式. 配成普通交换机:把2-24端口归到VLAN1下,2-24端口如果互相隔离,可以用PVLAN删除隔离端口即可. 2852 ...

  2. LInux 项目二命令总结,linux项目管理常用命令小结

    当前位置:我的异常网» 项目管理 » linux项目管理常用命令小结 linux项目管理常用命令小结 www.myexceptions.net  网友分享于:2015-08-26  浏览:13次 li ...

  3. Linux命令集(Linux常用命令集--CD指令篇)

    Linux命令集(Linux常用命令--CD指令篇) Linux常用命令集(CD指令篇) 1.CD(change directory) Linux常用命令集(CD指令篇) 如下为笔者总结出在linux ...

  4. adb bugreport保存位置_adb 常用命令---日常提升效率

    做为 Android 开发,怎么能不懂点 adb 命令呢? 速看~ adb 重置.断连的状况这里不说了,先来说一些直观的命令吧 1.adb devices 查看当前连接的设备 如果当前正在连接着设备, ...

  5. Android adb shell后面可用的常用命令详细列举

    adb shell 后面可以跟的常见命令有如下: am app_process backup bootanimation coloradjust dpm idmap input media reque ...

  6. git常用命令_10、Git常用命令

    Git常用命令 Git作为我们最常用的版本控制工具,多了解并熟悉一些命令,将能节省很多时间 关于git,首先需要了解几个名词,如下: Workspace:工作区 Index / Stage:暂存区 R ...

  7. 华为交换机命令_华为交换机常用命令

    华为交换机常用命令: 1.display current-configuration 显示当前配置 2.display interface GigabitEthernet 1/1/4 显示接口信息 3 ...

  8. mac os touch命令_MacOS系统终端常用命令大全

    MacOS系统终端是使用mac电脑的小伙伴需要或多或少了解的一个应用.熟悉并掌握一些基本的常用命令可以帮助我们快速的解决一些日常问题,提高工作效率,下面让小编带大家了解一下吧!MacOS系统终端常用命 ...

  9. Impala Shell常用命令行选项与常用命令

    常用命令行选项 -h或–help 显示帮助信息. [root@node2 ~]# impala-shell -h -i或–impalad 连接到指定的impalad节点. [root@node2 ~] ...

  10. python常用命令大全-Python pip 常用命令汇总

    使用了这么就pip命令,但是一直是简单使用,很多命令都是用了查,查了用,今天把常用的命令汇总一下,方便使用. 命令: pip 由上图可以看到 pip 支持一下命令 Commands: install ...

最新文章

  1. PG 9.4 行冻结信息的测试
  2. 未能在全局命名空间中找到类型或命名空间名称“Wuqi”
  3. matlab无限循环怎么停下来,[求助] 关于matlab无限循环的问题
  4. u-boot移植第二弹——移植2012.10u-boot到RealARM210 cortex-A8开发板
  5. leetcode 575. 分糖果(Java版)
  6. 深度学习之---yolo源代码部分分析
  7. Android屏幕适配(SmallestWidth适配 sw限定符)最新步骤解析
  8. yolov3gpu配置_YOLO3-WIN10-GPU版配置详细教程
  9. canvas贝塞尔曲线爱心_贝塞尔曲线之爱心点赞代码全解析!| CSDN 博文精选
  10. .NET Framework 4 安装未成功 一般信任关系失败
  11. 无人船水下地形测量的应用及优势
  12. Android 蓝牙 搜索周围设备代码流程分析-framework到协议栈流程
  13. 手机连无线显示服务器超时,手机登录melogin.cn连接超时解决步骤
  14. 2016年书单和电影
  15. srsLTE系统安装教程
  16. [渝粤教育] 天津科技大学 化工开发与创新实验 参考 资料
  17. j3455文件服务器,UNRAID下解决华擎 J3455-ITX  IOMMU 分组(4口网卡顺利分开直通 )...
  18. 概率论:乘法定理、全概率公式以及贝叶斯定理
  19. python中文件路径怎么写?
  20. 花粉的基本功效(收藏)

热门文章

  1. C#调用天气预报接口
  2. 公认最好的鸿蒙系统,【图片】华为鸿蒙系统的厉害之处在于 你可能非用不可 !【手机吧】_百度贴吧...
  3. 定义函数,实现折半查找算法
  4. bat获取管理员权限运行
  5. Windows直接访问WSL2路径并直接进行读写操作,权限不足的问题
  6. 大家好!欢迎来到YANG先森博客......
  7. 从coursera网站自动下载网课视频(Linux中bash操作)
  8. Vue 2.0 升(cai)级(keng)之旅
  9. Altium Designer16 精心总结
  10. 用RotateDrawable实现网易云音乐唱片机效果