Android adb 基础使用指南

目录

一、设备相关的指令

二、常用的shell命令

1.文件与目录操作

2.电脑与设备间的文件传输

推送文件到设备 (adb push)

从设备拉取文件 (adb pull)

三、系统信息与状态查询

四、网络相关

五、日志查看

六、应用安装和应用卸载

应用安装命令汇总

应用卸载命令汇总

详细参数说明表格

安装选项参数

卸载选项参数

七、硬件与输入模拟

八、发送广播

基本广播命令格式

常用系统广播动作表格

系统控制类广播

网络与连接类

媒体与存储类

应用与组件管理类

广播选项参数表格

目标限制选项

数据传递选项


一、设备相关的指令

操作 命令 说明
查看设备 adb devices 列出所有已连接的设备和模拟器
重新挂载 adb remount /system 挂载为可读写(需Root)
重启设备 adb reboot 普通重启
重启到Bootloader adb reboot bootloader 进入Fastboot模式,这个模式常用于刷入新的系统镜像、Recovery等。
重启到Recovery adb reboot recovery 进入Recovery模式,Recovery 模式用于执行系统更新、清除数据等操作。
关机 adb shell reboot -p 关闭设备电源
选择设备 adb -s <序列号> <命令> 指定对某个设备执行命令
进入Shell adb shell 进入设备的命令行界面
执行单条命令 adb shell <命令> 不进入Shell,直接执行一条命令

二、常用的shell命令

1.文件与目录操作

这是最基础也是最常用的命令集。

命令 功能 示例
ls 列出目录内容 ls -l /sdcard-l 显示详细信息)
cd 切换目录 cd /system/app (进入系统应用目录);cd ..返回上一级
pwd 显示当前所在目录的路径 pwd
cp 复制文件或目录 cp file1.txt /sdcard/backup/
mv 移动或重命名文件/目录 mv oldname.txt newname.txt
rm 删除文件或目录 rm unwanted.jpg rm -r directory/-r 递归删除目录)
cat 查看文件全部内容 cat /system/build.prop (查看系统属性)
more / less 分页查看文件内容 more /system/build.prop (按空格翻页)
grep 在文件中搜索文本 grep "ro.product.model" /system/build.prop (查找机型信息)
find 在目录中查找文件 find /sdcard -name "*.jpg" (在SD卡找所有jpg文件)
chmod 修改文件权限 chmod 755 script.sh (赋予可执行权限)
chown 修改文件所有者 chown system:system file
touch 创建新文件 touch /sdcard/newfile.txt
mkdir 创建新目录 mkdir /sdcard/MyNewFolder mkdir -p /sdcard/parent/child/grandchild-p 创建多级目录)
echo 创建文件并写入内容 echo "hello world" > /sdcard/test.txt echo "append line" >> /sdcard/test.txt>> 表示追加内容)

2.电脑与设备间的文件传输

推送文件到设备 (adb push)

场景 完整命令示例 结果说明
推送单个文件 adb push document.pdf /sdcard/Documents/ PDF 文件被复制到设备的 Documents 文件夹
推送并重命名 adb push image.jpg /sdcard/Pictures/newphoto.jpg 文件被重命名为 newphoto.jpg
推送到系统目录 adb remount adb push bootanimation.zip /system/media/ 需要 Root,替换系统启动动画
推送整个目录 adb push C:\MyData\ /sdcard/Backup/ 整个 MyData 文件夹被复制到 Backup 目录

从设备拉取文件 (adb pull)

场景 完整命令示例 结果说明
拉取到当前目录 adb pull /sdcard/screenshot.png 截图保存到当前命令行所在目录
拉取到指定路径 adb pull /sdcard/log.txt D:\Logs\ 日志文件保存到 D:\Logs\ 目录
拉取整个文件夹 adb pull /sdcard/DCIM/Camera/ ./photos/ 相机照片拉取到本地 photos 文件夹
备份系统文件 adb pull /system/etc/hosts ./backup/ 需要 Root,备份 hosts 文件

三、系统信息与状态查询

用于了解设备的运行状况。

命令 功能 示例
getprop 查看 Android 系统属性 getprop (查看所有) getprop ro.product.model (查看具体型号)
setprop 设置 Android 系统属性(需 Root) setprop debug.sf.fps 60
dumpsys dump 系统服务信息,极其强大 dumpsys battery (查看电池信息) dumpsys meminfo (查看内存信息) dumpsys package com.android.chrome (查看Chrome应用信息)
pm Package Manager,管理应用包 pm list packages (列出所有应用) pm list packages -3 (只列第三方应用) pm path com.android.chrome (找应用安装路径) pm disable-user com.bloatware (禁用应用,需Root)
am Activity Manager,管理应用活动 am start -n com.android.settings/.Settings (启动设置) am force-stop com.android.chrome (强制停止Chrome)
ps / top 查看进程信息 `ps
df 查看磁盘空间使用情况 df -h-h 以人类可读的格式显示)
cat /proc/cpuinfo 查看 CPU 信息 cat /proc/cpuinfo
cat /proc/meminfo 查看内存信息 cat /proc/meminfo
netstat 查看网络连接和端口 netstat -tulpn

四、网络相关

命令 功能 示例
ifconfig / ip addr 查看网络接口和 IP 地址 ifconfig wlan0 (查看Wi-Fi IP)
ping 测试网络连通性 ping 8.8.8.8
netstat 显示网络状态 netstat
ndc 网络设备控制器(高级) ndc resolver flushdefaultif (清空DNS缓存)

五、日志查看

这是开发和调试的利器。

命令 功能 示例
logcat 查看系统日志 logcat (持续输出全部日志) logcat -d > /sdcard/log.txt (将日志导出到文件) `logcat

六、应用安装和应用卸载

应用安装命令汇总

安装方法 命令格式 示例 说明 & 适用场景
基本安装 adb install [选项] <apk路径> adb install app.apk 普通安装,存在相同应用时失败
覆盖安装 adb install -r <apk路径> adb install -r app.apk 保留数据,重新安装(升级)
降级安装 adb install -r -d <apk路径> adb install -r -d old_app.apk 允许版本降级(需要 -r)
授予所有权限 adb install -g <apk路径> adb install -g app.apk 安装时自动授予所有权限
快速安装 adb install --fastdeploy <apk路径> adb install --fastdeploy app.apk 仅更新修改部分,速度更快
分体APK安装 adb install-multiple [选项] <apk文件列表> adb install-multiple base.apk split1.apk 安装拆分APK(App Bundle)
PM安装 adb shell pm install [选项] <apk路径> adb shell pm install /sdcard/app.apk 在设备端执行安装

应用卸载命令汇总

卸载方法 命令格式 示例 说明 & 适用场景
基本卸载 adb uninstall <包名> adb uninstall com.example.app 卸载应用,保留数据和缓存
完全卸载 adb uninstall -k <包名> adb uninstall -k com.example.app 卸载应用但保留数据和缓存
PM卸载 adb shell pm uninstall [选项] <包名> adb shell pm uninstall com.example.app 在设备端执行卸载
强制卸载 adb shell pm uninstall --user 0 <包名> adb shell pm uninstall --user 0 com.bloatware 为用户0卸载(禁用系统应用)

详细参数说明表格

安装选项参数

选项 说明 适用场景
-r 替换已存在应用,保留数据 应用升级、重新安装
-d 允许版本降级 安装旧版本应用
-g 授予所有运行时权限 避免安装后手动授权
-t 允许测试包 安装调试版本APK
-f 安装到内部存储 强制安装到系统空间
-s 安装到SD卡 安装到外部存储(已弃用)
--fastdeploy 快速部署 开发测试时快速更新

卸载选项参数

选项 说明 注意
-k 卸载但保留数据和缓存 默认行为,与直觉相反
(无 -k) 卸载并删除数据 实际上很少生效
--user 0 为当前用户卸载 用于"禁用"系统应用

七、硬件与输入模拟

命令 功能 示例
input 模拟触摸屏、按键等输入 input tap 500 500 (在坐标(500,500)处点击) input keyevent KEYCODE_HOME (模拟按下Home键) input text "hello" (输入文本"hello")
screencap 截屏 screencap -p /sdcard/screen.png
screenrecord 录屏(Android 4.4+) screenrecord /sdcard/demo.mp4 (按Ctrl+C停止)
dumpsys input 查看输入设备信息 dumpsys input
svc 控制部分硬件开关 svc power shutdown (关机,部分设备有效) svc wifi enable/disable (开关Wi-Fi)

八、发送广播

基本广播命令格式

命令格式 说明
adb shell am broadcast [选项] -a <ACTION> 发送指定动作的广播
adb shell am broadcast [选项] -n <COMPONENT> 发送给特定组件
adb shell am broadcast [选项] -a <ACTION> -n <COMPONENT> 组合使用

常用系统广播动作表格

系统控制类广播

广播动作 命令示例 功能说明
关机 adb shell am broadcast -a android.intent.action.ACTION_SHUTDOWN 发送关机广播
重启 adb shell am broadcast -a android.intent.action.REBOOT 发送重启广播
飞行模式开关 adb shell am broadcast -a android.intent.action.AIRPLANE_MODE --ez state true 开启飞行模式
adb shell am broadcast -a android.intent.action.AIRPLANE_MODE --ez state false 关闭飞行模式
电量变化 adb shell am broadcast -a android.intent.action.BATTERY_CHANGED 模拟电量变化

网络与连接类

广播动作 命令示例 功能说明
WiFi开关 adb shell am broadcast -a android.net.wifi.WIFI_STATE_CHANGED WiFi状态变化
蓝牙开关 adb shell am broadcast -a android.bluetooth.adapter.action.STATE_CHANGED 蓝牙状态变化
网络状态变化 adb shell am broadcast -a android.net.conn.CONNECTIVITY_CHANGE 网络连接状态变化

媒体与存储类

广播动作 命令示例 功能说明
媒体扫描 adb shell am broadcast -a android.intent.action.MEDIA_SCANNER_SCAN_FILE -d file:///sdcard/DCIM/newphoto.jpg 扫描指定文件
媒体库扫描 adb shell am broadcast -a android.intent.action.MEDIA_MOUNTED -d file:///sdcard 扫描整个SD卡
USB设备连接 adb shell am broadcast -a android.hardware.usb.action.USB_DEVICE_ATTACHED 模拟USB设备连接
耳机插拔 adb shell am broadcast -a android.intent.action.HEADSET_PLUG 耳机状态变化

应用与组件管理类

广播动作 命令示例 功能说明
应用包变化 adb shell am broadcast -a android.intent.action.PACKAGE_ADDED 应用安装广播
应用包删除 adb shell am broadcast -a android.intent.action.PACKAGE_REMOVED 应用卸载广播
应用包替换 adb shell am broadcast -a android.intent.action.PACKAGE_REPLACED 应用更新广播
开机完成 adb shell am broadcast -a android.intent.action.BOOT_COMPLETED 模拟开机完成

广播选项参数表格

目标限制选项

选项 说明 示例
-n <组件名> 指定接收组件 -n com.example.app/.MyReceiver
-f <标志> 添加Intent标志 -f 0x10000000
--receiver-permission <权限> 要求接收者权限 --receiver-permission android.permission.BLUETOOTH

数据传递选项

选项 说明 示例
-d <数据URI> 设置数据URI -d content://contacts/people/1
-t <MIME类型> 设置MIME类型 -t text/plain
-e / --es <key> <value> 添加字符串额外数据 -e "message" "hello"
--ez <key> <true/false> 添加布尔值额外数据 --ez "enabled" true
--ei <key> <value> 添加整数额外数据 --ei "count" 5
--el <key> <value> 添加长整数额外数据 --el "time" 1633046400000
--ef <key> <value> 添加浮点数额外数据 --ef "price" 9.99
相关推荐
为java加瓦3 小时前
PHP MQTT 订阅服务:实时消息接收与数据库存储解决方案
android
怿星科技3 小时前
Android MVVM架构解析:现代开发的首选模式
android·架构
安卓机器3 小时前
安卓13_ROM修改定制化-----ROM解打包 修改 讲解 导读篇
android·安卓13固件修改·安卓13rom修改
钱塘天梭3 小时前
记录一次排查Android App启动时偶现卡顿问题的过程
android
xiyangyang81103 小时前
ubantu的adb命令(首次安装adb)
adb
奋飞安全5 小时前
别被外壳骗了,那只是柔软的伪装 - 某小说App Token算法分析
android·逆向
这个杀手不太累5 小时前
Android 通过广播监听home键和任务键
android·广播·home键·任务键
MonkeyKing_sunyuhua5 小时前
python线程间怎么通信
android·网络·python
芦半山7 小时前
穿越二十年:Android Native 内存泄漏检测的进化之路
android