[安卓逆向]android adb常用命令
一、调试相关
1.开启adb服务
adb start-server
2.关闭adb服务
adb stop-server
3.列出所有连接的设备
adb devices
4.多个设备情况下使用adb
//多个设备情况下使用d e s命令对某个设备执行操作
adb [-d|-e|-s] 命令
// 多个设备情况下使用 -s 参数指定对某个设备执行操作
adb -s device-id shell
// 设备id(device-id)可以通过 adb devices 命令看到,也可以通过如下命令获取
adb get-serialno
1.多设备时进入指定设备
多设备时进入指定设备 案例:
1. 通过adb devices命令获取所有online设备的serial number。
C:\Users\YRJ>adb devices
List of devices attached
b7b86f9 device
emulator-5554 device
2. 通过adb -s <serial number> cmd向设备发送adb命令。
比如:运行命令shell。
C:\Users\YRJ>adb -s b7b86f9 shell 或 adb -s emulator-5554 shell
2.多设备中有一个模拟器和一个真机
多设备,当有一个模拟器和一个真机连接时使用e d 命令:
//进入模拟器
C:\Users\YRJ>adb -e shell
//进入真机
C:\Users\YRJ>adb -d shell
二、重启机器
1.正常重启
adb reboot
2.重启到 bootloader (刷机模式)
adb reboot bootloader
// 重启到 recovery (恢复模式)
adb reboot recovery
三、查看进程
1.进程列表(包含进程的pid等)
adb shell ps
2.杀死指定pid的进程
adb shell kill pid
3.查看指定进程信息
adb shell ps -x pid
四、文件管理
1.从电脑上复制文件到设备
// 把 a.png 从电脑上拷贝到设备sd卡上
adb push ~/a.png /mnt/sdcard/
// 把 a.png 从电脑上拷贝到设备sd卡上并重命名为 b.png
adb push ~/a.png /mnt/sdcard/b.png
// 把 pic目录下所有文件从电脑上拷贝到设备sd卡上
adb push ~/pic/ /mnt/sdcard/
2.从设备复制文件到电脑
// 把 a.png 从设备sd卡上拷贝到电脑上
adb pull /mnt/sdcard/a.png ~/
// 把 a.png 从设备sd卡上拷贝到电脑上并命名为b.png
adb pull /mnt/sdcard/a.png ~/b.png
// 把pics目录下所有文件从设备sd卡上拷贝到电脑上
adb pull /mnt/sdcard/pics/ ~/pics/
3.一些基本命令
// 列出sd卡根目录下所有文件
adb shell ls /sdcard/
// 定位到 /sdcard/目录
adb shell cd /sdcard/
// 删除某文件
// -f 强制删除文件不需要确认
// -r 递归删除文件夹内文件
// -i 删除文件前需要确认
adb shell rm /sdcard/1.txt
// 创建目录
adb shell mkdir /sdcard/temp/
// 指定 -p 递归创建目录
adb shell mkdir -p /sdcard/temp/test/abc/hello/
// 创建文件
adb shell touch /sdcard/1.txt
// 显示当前所在目录
adb shell pwd
// 拷贝文件1.txt到test目录
adb shell cp /sdcard/1.txt /sdcard/test/
// 移动文件,移动同一目录下文件相当于重命名文件
adb shell mv /sdcard/1.txt /sdcard/2.text
五、启动Activity等
1.启动应用
// -n 指定包名/包名+启动类的类名 ,启动类的类名必须是完整路径
adb shell am start -n package/package-activity
2.停止应用
adb shell am force-stop package
3.启动 service
adb shell am startservice [options] <INTENT>
举例:adb shell am startservice -a com.lt.test.action.ONESERVICE
举例:adb shell am startservice -n com.lt.test/.MyService
4.发送广播
adb shell am broadcast [options] <INTENT>
5.发送一个广播去关闭一个activity
adb shell am broadcast -a "action_finish"
6.恢复出厂设置的方法,会清除内存所有内容
adb shell am broadcast -a android.intent.action.MASTER_CLEAR
adb shell am broadcast -n com.lt.test/.MyBroadcast
7.列举出所有包含的package
adb shell pm list packages [options] <INTENT>
adb shell pm list packages com.lt
六、管理安装包
1.安装应用程序
//安装APP
adb install xxx.apk
// 覆盖安装(保留缓存和数据)
adb install -r xxx.apk
// 安装apk到sd卡
adb install -s xxx.apk
2.卸载应用程序
//卸载APP
adb uninstall package
// 卸载时保留数据和缓存目录
adb uninstall -k package
3.列出设备上的所有权限
adb shell pm list permissions
4.列出设备上安装的所有app的包名
adb shell pm list packages
// 列出指定包名对应的apk路径
adb shell pm path com.android.search
// 清空指定包名对应的应用的数据和缓存文件,开发时很有用
adb shell pm clear com.android.search
5.列出设备上的所有feature
adb shell pm list features
七、显示系统信息
1.获取系统属性
// 获取系统属性,可以获取到一大堆关于系统信息(键值对形式)
adb shell getprop
// 获取系统属性并过滤出包含version的信息
adb shell getprop | grep version
2.查看 cpu 和 内存使用情况
//查找模拟器或手机CPU类型
adb shell getprop ro.product.cpu.abi
// 每隔一秒会刷新一次 cpu 和 内存情况
adb shell top
// 查看占用内存前3的应用
adb shell top -m 3
// 刷新3次内存信息(不指定-n参数的话默认每秒会刷新1次数据):
adb shell top -n 3
// 查看占用内存前3的应用,刷新1次
adb shell top -m 3 -n 1
3.查看系统当前 cpu 使用情况
adb shell cat /proc/cpuinfo
adb shell cat /proc/stat
4.查看指定包名应用内存使用情况,各项信息具体说明
adb shell dumpsys meminfo package
5.查看 service
adb shell service list
adb shell cat /system/build.prop
八、网络相关
1.查看网络状态
adb shell netstat
2.通过 tcp/ip 连接,默认端口 5555
adb connect host:port
3.转发套接字连接
adb forward local remote
九、日志输出
1.查看指定 tag 日志
adb logcat -s tag
2.清除log缓存
adb logcat -c
十、使用案例
1.查看adb版本
adb verion
2.查看已连接的安卓设备
adb devices
3.将文件推送进安卓设备
adb push # adb push d:/test.txt /sdcard/
4.将安卓设备中的文件拉到本地
adb pull # adb push /sdcard/test.txt d:\
在这里插入代码片
5.安装APK
adb install ***.apk
6.卸载APK
adb uninstall 包名
7.获取安卓设备中所有包名
adb shell pm list packages
8.获取安卓设备所有包名并且包括APK路径
adb shell pm list packages -f
9.获取包名对应的APK路径
adb shell pm path 包名
10.清理应用数据
adb shell pm clear 包名
11.启动应用
adb shell am start -n 包名/Activity类名 # 启动应用宝 adb shell am start -n com.tencent.android.qqdownloader/com.tencent.assistant.activity.SplashActivity
12.关闭应用
adb shell am force-stop 包名
13.模拟输入
adb shell input text 字符串(不支持中文)
14.模拟按键
adb shell input keyevent 键值
15.模拟鼠标点击
adb shell input tap X Y # adb shell input tap 100 200
16.模拟鼠标滑动
adb shell input swipe X1 Y1 X2 Y2
17.截屏
adb shell screencap -p /sdcard/screencap.png
18.设置手机IMEI/IMSI/手机号/SIM卡序列号(适用于夜神)
adb shell setprop persist.nox.modem.imei 352462010682470
adb shell setprop persist.nox.modem.imsi 460000000000000
adb shell setprop persist.nox.modem.phonumber 15605569000
adb shell setprop persist.nox.modem.serial 89860000000000000000
19.打印日志
adb logcat
20.截屏xml文件
adb shell /system/bin/uiautomator dump --compressed /data/local/tmp/uidump.xml
adb pull /data/local/tmp/uidump.xml C:/Users/Administrator/Desktop
21.开关 wifi
adb shell svc wifi enable/disable
22.重启设备
adb reboot
版权声明:本文为yi_rui_jie原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。