欢迎关注「全栈工程师修炼指南」公众号
点击 👇 下方卡片 即可关注我哟!
设为「星标⭐」每天带你 基础入门 到 进阶实践 再到 放弃学习!
“ 花开堪折直须折,莫待无花空折枝。 ”
作者主页:[ https://www.weiyigeek.top ]
博客:[ https://blog.weiyigeek.top ]
安全运维开发从业者学习答疑交流群:请关注公众号回复【学习交流群】
0x00 adb 调试工具命令
描述:通过前面学习我们知道adb(Android Debug Bridge Tools)即安卓调试桥 ,它是一个C/S架构工具,主要用于电脑端于安卓系统手机设备或者模拟器设备进行交互,特别是在某些情况下进入不了系统的时候adb就派上用场了,本章节汇总了adb相关使用命令参数。
adb 命令工具帮助信息打印:
在线文档:https://android.googlesource.com/platform/packages/modules/adb/+/refs/heads/master/docs/user/adb.1.md
1.常规基础命令
start/kill-server - 启动与停止守护进程
使用示例
devices - 设备状态信息
使用说明
adb 会针对每个设备输出以下状态信息:
-
序列号: adb 会创建一个字符串,用于通过端口号唯一标识设备
-
设备状态:
:设备未连接到 adb 或没有响应。
:设备已连接到 adb 服务器。请注意,此状态并不表示 Android 系统已完全启动并可正常运行,因为在设备连接到 adb 时系统仍在启动。系统完成启动后,设备通常处于此运行状态。
:未连接任何设备。
使用示例
温馨提示 如果您在多个设备可用时发出命令但未指定目标设备,adb 会显示错误,此时需要使用-s参数指定设备序列号。
get-* - 设备相关信息
a设备的三种状态:
-
device:设备正常连接
-
offline:连接出现异常设备无响应(通常需要重连).
-
unknown:没有连接设备
使用示例
install/uninstall 安装与卸载手机应用
温馨提示: 如果您使用的是 Android Studio,则无需直接使用 adb 即可在模拟器或设备上安装您的应用, Android Studio 会为您执行应用的打包和安装操作。
logcat - 显示设备日志
reboot - 重启设备
温馨提示: 进入recovery模式后,adb工具将失去对手机的控制,我们可以通过手机重启退出recovery模式。
2.网络连接命令
tcpip - 在PORT上重新启动adbd侦听TCP
使用示例
connect/disconnet - 连接断开到设备的adbd监听
使用示例
pair - 与用于安全TCP/IP通信的设备配对
描述: 此命令在启动无线调试时,通过adbd用于链接到Android设备进行配对。
语法参数:
使用示例
forward - 端口转发
使用示例
3.文件传输
描述: 使用 push、pull、sync 命令可以快速针对安卓手机中的文件进行上传下载同步等操作。
语法参数:
示例演示
扩展说明: adb shell sync 命令和adb sync命令的区别?
前者:在shell中执行,将内存缓冲区中的数据 写入到磁盘
后者:同步更新all|data|odm|oem|product|system|system_ext|vendor下的数据,如果不指定目录,将同步更新/data/和/system/
4.shell - 进行设备shell终端查看执行命令
描述: 此命令在adb中占有主要地位,其可以帮助我们操作访问Android设备的相关资源,在讲解shell之前,我们先看看 root 与 remount 两个子命令其对于安卓手机shell中访问权限是非常重要的。
语法参数:
adb 权限提升
温馨提示: Android 提供了大多数常见的 Unix 命令行工具, 如需查看可用工具的列表,请使用以下命令:
设备相关信息
tap/swipe - 设备点击滑动操作
描述:tap 模拟点击事件,swipe 模拟滑动事件, 可以左右滑动,可以上下滑动。
偷偷的告诉你哟?【极客全栈修炼】微信小程序已经上线了,
可直接在微信里面直接浏览博主博客了哟,后续将上线更多有趣的小工具。
keyevent - 模拟输入点击(预定义)
描述: input keyevent操作发送手机上常用的一些按键操作,KEYCODE和对应的数值在android源码中定义如下:
使用示例
screencap - 屏幕截屏操作保存
screenrecord - 录屏操作保存
描述:screenrecord是一个shell命令,支持Android4.4(API level 19)以上,视频格式为 mp4,值得注意的是不一定所有的安卓设备都有此命令。
pm - 调用软件包管理器显示已安装的应用
描述: 在 adb shell 中,您可以使用软件包管理器 (pm) 工具发出命令,以对设备上安装的应用软件包执行操作和查询。
am - 调用 activity 管理器启动应用
描述: 在 adb shell 中,您可以使用 activity 管理器 (am) 工具发出命令以执行各种系统操作,如启动 activity、强行停止进程、广播 intent、修改设备屏幕属性等等。
语法参数:
intent 参数的规范:对于采用 intent 参数的 activity 管理器命令,您可以使用以下常用选项指定 intent , 参考地址
基础示例:
dpm - 调用设备政策管理器 (dpm)
描述: 为便于您开发和测试设备管理应用,请向设备政策管理器 (dpm) 工具发出命令。
语法参数:
cmd - 辅助测试命令
cmd package - 读取应用的 ART 配置文件
从 Android 7.0(API 级别 24)开始,Android 运行时 (ART) 会收集已安装应用的执行配置文件,这些配置文件用于优化应用性能.
温馨提示:您必须拥有对文件系统的 root 权限(例如在模拟器上),才能检索执行配置文件的文件名。
cmd testharness - 重置测试设备
如果您在多个测试设备上测试应用,则在两次测试之间重置设备可能很有用, 在使用 testharness 恢复设备时,设备会自动将允许通过当前工作站调试设备的 RSA 密钥备份在一个持久性位置。
getevent - 记录设备事件
语法参数:
使用示例:
扩展补充: Android 手机事件名词对应及格式,假设我手指连续在(0xd8, 16f)即(216, 367)坐标附近触摸三次得到的信息如下:
-
EV_ABS ABS_MT_TRACKING_ID :当前触摸的ID它会一直累加上去的;
-
EV_ABS ABS_MT_POSITION_X :当前触摸的X的坐标
-
EV_ABS ABS_MT_POSITION_Y :当前触摸的Y的坐标
-
EV_KEY BTN_TOUCH : 标记是按下或者抬起的动作
-
EV_SYN SYN_REPORT : 标记一次上报结束
-
EV_ABS ABS_MT_TRACKING_ID : 如果这个值为 0xffffffff,那么说明当前是抬起动作,后面跟上的BTN_TOUCH要为UP;
-
EV_KEY BTN_TOUCH : 标记是按下或者抬起的动作;
-
EV_SYN SYN_REPORT : 标记一次上报结束;
参考地址: https://developer.android.com/reference/android/view/KeyEvent.html
sendevent - 发送设备事件
描述: 其作用与getevent相反,它可以往input设备中写入对应的格式值, 注意此操作需要root权限。
语法示例:
使用示例
温馨提示: 使用 sendevent 发送事件时,一定要先有Down事件,才能有Up事件。
亲,文章就要看完了,不关注一下【全栈工程师修炼指南】吗?
sqlite - 命令行执行 SQLite 命令
描述: sqlite3 可启动用于检查 SQLite 数据库的 sqlite 命令行程序()。它包含用于输出表格内容的 .dump 以及用于输出现有表格的 SQL CREATE 语句的 .schema 等命令。
settings - 系统设置
使用示例
svc - 服务管理
示例示例
温馨提示: 上述指令作者还在不断收集整理中,后续将会持续更新,请各位朋友多多关注。
本文至此完毕,更多技术文章,尽情等待下篇好文!
原文地址: https://blog.weiyigeek.top/2019/4-17-73.html
如果此篇文章对你有帮助,请你将它分享给更多的人!
公众号回复【0008】获取【Ubuntu22.04安装与加固建脚本】
公众号回复【10001】获取【WinServer安全加固脚本】
公众号回复【0011】获取【k8S二进制安装部署教程】
公众号回复【0014】获取【Nginx学习之路汇总】
公众号回复【0015】获取【Jenkins学习之路汇总】
热文推荐
-
开源项目 | ChatGPT-Next-Web私人ChatGPT网页应用一键免费部署
-
开源项目 | DB-GPT 来了,兼职奶爸搞了个数据库创新AI工具!
-
工具推荐 | 利用开源工具查看MobaXterm远程终端工具存储的Session账号密码信息
-
企业实践 | 如何从VMWare ESXi Shell中挂载以及拷贝NTFS或者FAT32分区格式的USB闪存驱动器
-
运维实践|从ESXi中挂载拷贝NTFS或FAT32格式物理磁盘(视频)
-
Linux基础命令行奇技淫巧
-
运维之DNS服务器Bind9配置解析和基础示例及附带命令
欢迎长按(扫描)二维码 获取更多渠道哟!
欢迎关注 【全栈工程师修炼指南】(^U^)ノ~YO
== 全栈工程师修炼指南 ==
微信沟通交流: weiyigeeker
关注回复【学习交流群】即可加入【安全运维沟通交流小群】
温馨提示: 由于作者水平有限,本章错漏缺点在所难免,希望读者批评指正,若有问题或建议请在文章末尾留下您宝贵的经验知识,或联系邮箱地址
master@weiyigeek.top 或 关注公众号 [全栈工程师修炼指南] 留言。
[全栈工程师修炼指南] 关注 企业运维实践、网络安全、系统运维、应用开发、物联网实战、全栈文章,尽在博客站点,谢谢支持!
点个【 赞 + 在 】看吧!