[转] adb 介绍及命令说明
ADB工具介绍
ADB的全称为Android Debug Bridge,就是起到调试桥的作用,是Android SDK里面一个多用途调试工具,通过它可以和Android设备或模拟器通信,借助adb工具,我们可以管理设备或手机模拟器的状态。还可以进行很多手机操作,如安装软件、系统升级、运行shell命令等。其实简而言说adb就是连接Android手机与PC端的桥梁,可以让用户在电脑上对手机进行全面的操作。
一、ADB基本命令介绍
1、查看设备 adb devices
adb devices这个命令是查看当前连接的设备,连接到计算机的Android设备或者模拟器将会列出显示
device: 表示找到设备并与adb连接上 no device: 表示当前没有模拟器在运行,或没有找到任何设备 offline: 表示设备或模拟器没有与adb相连或没有响应
说明:
(1) 如果出现多个device时,说明当前有多个设备或模拟器在运行,此时使用adb时,需要用-s指定一个目标设备
(2) adb devices没有显示连接设备,可以使用一下命令
adb kill-server adb start-server adb connect 127.0.0.1:7555 连接MuMu模拟器
2、查看adb版本及设备信息
adb version 获取adb版本 adb get-serialno 获取设备的序列号 adb get-state 获取模拟器/设备的当前状态
3、安装软件 adb install + 安装包路径
adb install D:\android\com.zmhj.hehe.apk
安装apk 到 SD 卡
adb install -r demo.apk
说明: apk文件安装后临时存储在/data/local/tmp目录中
4、卸载软件 adb uninstall 文件名
adb uninstall com.zmhj.hehe
adb uninstall -k cn.com.test.mobile
说明:
(1) 如果加 -k 参数,为卸载软件但是保留配置和缓存文件(保留数据和缓存文件)
(2) 应用安装目录在/data/data 例如:com.ulang.jjk
(2)包名编写规范:全小写字母,多层之间点分隔
使用公司域名倒着写,后加应用名,达到:全球唯一
比如:百度App 包名:com.baidu.mm
比如:达内App 包名:cn.tedu.mm
扩展:获取安装包对应的包名?
adb shell pm list packages adb shell pm list packages 软件名 adb shell pm list packages -3 #列出除了系统应用的第三方应用包名 adb shell pm clear cn.com.test.mobile #清除应用数据与缓存 aapt dump badging D:\android\com.zmhj.hehe.apk
5、从电脑上发送文件到设备 adb push 本地路径 远程路径
用push命令可以把本机电脑上的文件或者文件夹复制到设备
adb push D:\android\com.ulang.jjk.apk /data/
说明:adb可以使用选项,挑选使用某设备,常用选项?(面试题)
adb -d push ... 针对唯一的真机(USB数据线和PC连接) device adb -e push ... 针对唯一的模拟器 emulator adb -s 设备id push ...通过设备id指定具体设备 真机或模拟器
6、从设备上下载文件到电脑 adb pull 远程路径 本地路径
用pull命令可以把设备上的文件或者文件夹复制到本机电脑
adb pull /data/com.ulang.jjk.apk D:\test_apk
说明:需要在D盘下创建一个文件夹test_apk
7、在命令行中查看log信息 adb logcat
adb logcat,表示实时抓取整个手机的log信息,ctrl+c结束命令行
adb logcat [option] [filter-spec]
案例:实时持续跟踪日志并返回PC端显示,不停止
adb logcat
案例:一次读取当前日志并返回PC端显示,停止
adb logcat -d
案例:将实时抓取log信息并保存到本地log.txt文件
adb logcat > D:\logcat0.txt
案例:获取的log.txt文件中加上时间信息
adb logcat -v time > D:\logcat1.txt
案例:获取网络射频信息
adb logcat -b radio > D:\logcat2.txt
案例:获取事件消息
adb logcat -b events > D:\logcat3.txt
案例:获取log信息加上时间,显示缓冲区以及电话和系统相关的日志
adb logcat -v time -b main -b radio -b system > logcat4.txt
技巧:查看命令的帮助手册
adb logcat -help
案例:获取级别不低于E的日志,保存在D:\logcat5.txt
adb logcat -d *:E > D:\logcat5.txt
8、进入设备或模拟器的adb shell
根据日志进行分析,寻找问题:根据crash(崩溃、闪退)、anr(应用无响应)、exception(异常)、error(错误)作为线索搜索日志,找到对应进程id、包名、相对位置,根据日志查看和分析测试中隐含的、容易遗漏的、底层的缺陷。
adb命令是adb这个程序自己的命令
adb shell是Android系统自带的命令,都保存在Android系统的/system/bin目录下,命令文件本质是shell脚本
(1)查看设备系统全部进程
adb shell ps
(2)过滤进程
abd shell ps | findstr 2588
(3)查看CPU硬件的相关信息
adb shell cat /proc/cpuinfo
(4)查看内存的相关信息
adb shell cat /proc/meminfo
(5)查看I/O内存分区的相关信息
adb shell cat /proc/iomem
(6)获取手机型号
adb shell cat /system/bulid.prop | findstr “ro.product.model”
(7)获取电池电量的相关信息
adb shell dumpsys battery
(8)获取某个app的cpu占用情况
adb shell dumpsys cpuinfo | grep hehe
(9)包管理工具,获取安装包列表
adb shell pm list packages
(10)实时刷新查看Android系统的性能情况
adb shell top
二、其他更多指令
查看手机设备:adb devices 查看设备型号:adb shell getprop ro.product.model 查看电池信息:adb shell dumpsys battery 查看设备ID:adb shell settings get secure android_id 查看设备IMEI:adb shell dumpsys iphonesubinfo 查看Android版本:adb shell getprop ro.build.version.release 查看手机网络信息:adb shell ifconfig 查看设备日志:adb logcat 重启手机设备:adb reboot 安装一个apk:adb install /path/demo.apk 卸载一个apk:adb uninstall <package> 查看系统运行进程:adb shell ps 查看系统磁盘情况:adb shell ls /path/ 手机设备截屏:adb shell screencap -p /sdcard/aa.png 手机文件下载到电脑:adb pull /sdcard/aa.png ./ 电脑文件上传到手机:adb push aa.png /data/local/ 手机设备录像:adb shell screenrecord /sdcard/ab.mp4 手机屏幕分辨率:adb shell wm size 手机屏幕密度:adb shell wm density 手机屏幕点击:adb shell input tap xvalue yvalue 手机屏幕滑动:adb shell input swipe 1000 1500 200 200 手机屏幕带时间滑动:adb shell input swipe 1000 1500 0 0 1000 手机文本输入:adb shell input text xxxxx 手机键盘事件:adb shell input keyevent xx
路飞-武佩奇 adb自动刷抖音
视频:https://www.bilibili.com/video/BV19T4y1A7XU?spm_id_from=333.999.0.0
工具:https://github.com/WuPeiqi/douyin
三、补充
adb shell chmod 777 /usr/bin/ls adb shell sync fastboot flash system mdm9607-sysfs.ubi fastboot reboot
四、
adb shell am start -ncn.com.test.mobile/.ui.SplashActivity #启动应用 adb shell dumpsys package #包信息Package Information adb shell dumpsys meminfo #内存使用情况Memory Usage adb shell am force-stop cn.com.test.mobile #强制停止应用 adb logcat #查看日志 adb logcat -c #清除log 缓存 adb shell top -s 10 #查看占用内存前10 的app adb push <local> <remote> #从本地复制文件到设备 adb pull <remote> <local> #从设备复制文件到本地 adb bugreport #查看bug 报告 adb help #查看ADB 帮助
免责声明:本号所涉及内容仅供安全研究与教学使用,如出现其他风险,后果自负。
参考、来源:
https://blog.csdn.net/wx17343624830/article/details/128816848
https://blog.csdn.net/y281252548/article/details/130619040
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器
· PowerShell开发游戏 · 打蜜蜂
2020-12-04 git同步两个(多个)仓库本地仓库网络仓库