Android ADB 常用命令
[TOC]
adb logcat 查看日志
详细内容可参见
他人整合
应用相关
查看应用列表
adb shell pm list package# has rootadb 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 和 classnameaapt d badging# 安装apkadb 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 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 syncadb: 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 syncsyncing /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 rootadb root# 关闭root权限adb unroot# 重新挂载系统分区,使系统分区重新可写 成功提示 remount succeededadb 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 wifiadb 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的appadb 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 backupadb 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 restoreadb restore backup.ab
设备操作
# 返回所有应该包含在错误报告中的设备信息adb bugreport# 重启adb reboot# 重启刷机模式adb reboot bootloader# 重启到恢复模式adb reboot recovery
小礼物走一走,来简书关注我
© 著作权归作者所有
举报文章
写了 56743 字,被 178 人关注,获得了 301 个喜欢
没有什么是一行代码不能解决的,如果有就两行 Context https://github.com/sinlov
https://www.jianshu.com/p/37af717761cc