adb 及 shell常用命令

本文详细介绍了adb命令的使用,包括基本调试如logcat,以及如何清空日志缓存。同时,讲解了shell命令,如getevent用于按键调试,getprop、setprop和watchprops用于系统属性操作,以及monkey命令用于应用调试。此外,还分享了一些实用技巧,如模拟按键、截屏、查看进程、修改文件权限等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

adb命令

基本调试命令

指令解释
adb root获取root
adb remount挂载
adb push 电脑文件 设备路径将电脑文件弄到设备上
adb pull 设备路劲 [电脑路径]将设备上文件弄到电脑上
adb reboot重启
adb reboot recovery重启到recovery模式
adb reboot bootloader重启到bootloader模式
adb install -r替换系统中已经存在的apk reboot 之后失效
adb install xxx.apk安装 apk
adb uninstall 包名卸载 apk
adb connect 192.168.xxx.xxx通过 网络连接adb 前提条件是在同一局域网中
adb devices查看 当前连接在电脑上的设备
adb -s aaaa xxxx当连接多个设备的时候,通过-s指定特定的设备 来操作对应的设备
adb forward local remote网络重定向
adb forward tcp:5901 tcp:5901把PC端5901端口的数据, 转发到Android端的5901端口上

打印log命令

  1. 基本命令 adb logcat
  2. 部分可选参数
    • "-v"选项 : 使用 adb logcat -v time 命令, 可以啥看日志的输出时间;
    • "-b"选项 :加载日志缓冲区 : 使用 adb logcat -b 缓冲区类型 命令;
      – Android中的日志缓冲区 : system缓冲区 - 与系统相关的日志信息, radio缓冲区 - 广播电话相关的日志信息, events缓冲区 - 事件相关的日志信息, main缓冲区 - 默认的缓冲区;
    • "-c"选项:清空日志缓存信息 : 使用 adb logcat -c 命令, 可以将之前的日志信息清空, 重新开始输出日志信息;
  3. logcat 标签过滤
    • logcat *:V | *? | *:E | *:I 按照打印等级过滤
    • logcat -s TAG 打印输入TAG的信息

shell命令

在shell环境下才能执行的命令

getevent

作用:调试按键的时候比较有用,这个是代表从内核传上来的值

getprop | setprop | watchprops 命令

getprop  xxx 系统系统设置的属性

setprop  xxx xxx 设置系统的属性

watchprops 动态查看属性的变化

##setting
1. 用法 settings [–user NUM] get namespace key
settings [–user NUM] put namespace key value
2 例子
+ 获取系统默认输入法

	C:\Users\Administrator>adb shell settings get secure default_input_method
	com.sohu.inputmethod.sogouoem/.SogouIME
	+ put命令更改默认输入法(将io.appium.android.ime/.UnicodeIME改为com.sohu.inputmethod.sogouoem/.SogouIME)
C:\Users\Administrator>adb shell settings put secure default_input_method com.sohu.inputmethod.sogouoem/.SogouIME
	+ 获取屏幕休眠时间
C:\Users\Administrator>adb shell settings get system screen_off_timeout
15000
	+ 更改该状态,从1改为0
C:\Users\Administrator>adb shell settings put global auto_time 0

##input
1.用法
text (Default: touchscreen)
keyevent [–longpress] … (Default: keyboard)
tap (Default: touchscreen)
swipe [duration(ms)] (Default: touchscreen)
press (Default: trackball)
roll (Default: trackball)
2.例子
+ 模拟按下power键:adb shell input keyevent 26
+ 模拟按下返回键:adb shell input keyevent 4

printenv

作用:打印系统环境变量

monkey

作用:调试Android应用
##reboot
reboot 重启
reboot -p 关机

#其他常用命令
1. 查看当前应用程序的包名类名:dumpsys activity | grep Resume*
2. 获取截屏:adb shell /system/bin/screencap -p /sdcard/screenshot.png(保存到SDCard)
adb pull /sdcard/screenshot.png d:/screenshot.png(保存到电脑)
3. 不重启杀进程的方法,找到相应进程的pid 之后kill:
adb shell “ps |grep com.android.systemui |busybox awk ‘{print $2}’|busybox xargs kill -9”
adb shell “ps |grep zygote|busybox awk ‘{print $2}’|busybox xargs kill -9”
4. 自动填满内存的方法:adb shell dd if=/dev/zero of=/mnt/sdcard/bigfile
5. 应用对应的apk文件在手机上的安装位置: adb shell pm list packages -f
6. 启动activity方法:adb shell am start -n 包名/类名
7. 模拟广播发送的:
adb shell am broadcast -a com.android.test --es test_string “this is test string” --ei test_int 100 --ez test_boolean true
8. 实时查看各service状态:
1. adb shell
2. dumpsys | grep "DUMP OF SERVICE"看哪些service可以dump
3. dumpsys相应服务 如 battery
9. 修改文件权限:adb shell chmod 777 system/bin/bootanimation
10. 打印对应标签的log(5.0以上):
adb shell setprop log.tag.InCall D
adb shell stop
adb shell start
11. 电池电量模拟广播:
adb shell am broadcast -a android.intent.action.BATTERY_CHANGED --es technology Li-ion --ei level 50 --ei temperature 700
adb shell am broadcast -a android.intent.action.BATTERY_CHANGED --es technology Li-ion --ei icon-small 17303283 --ei max_charging_voltage 0 --ei health 2 --ei max_charging_current 0 --ei status 2 --ei plugged 2 --ez present true --ei charge_counter 0 --ei level 39 --ei scale 100 --ei temperature 9000 --ei voltage 4398 --ei invalid_charger 0
12. 查看当前的input设备: adb shell getevent -i
13. 清除apk缓存:adb shell pm clear
14. 查看systemui dump中的信息:adb shell dumpsys activity -p com.android.systemui service com.android.systemui/.SystemUIService
15. 通过adb 命令的方式,预置recovery指令:adb shell “echo “–update_package=/sdcard/update.zip” > /cache/recovery/command”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值