文章目录

adb命令

基本调试命令

打印log命令

shell命令

getevent

getprop | setprop | watchprops 命令

printenv

monkey

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命令

基本命令 adb logcat

部分可选参数

"-v"选项 : 使用 adb logcat -v time 命令, 可以啥看日志的输出时间;

"-b"选项 :加载日志缓冲区 : 使用 adb logcat -b 缓冲区类型 命令;

– Android中的日志缓冲区 : system缓冲区 - 与系统相关的日志信息, radio缓冲区 - 广播电话相关的日志信息, events缓冲区 - 事件相关的日志信息, main缓冲区 - 默认的缓冲区;

"-c"选项:清空日志缓存信息 : 使用 adb logcat -c 命令, 可以将之前的日志信息清空, 重新开始输出日志信息;

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”

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐