ADB 常用命令行

进行 Android 开发时,不免要用 adb 命令进行调试,一直都是参考《GitHub - mzlogin/awesome-adb: ADB Usage Complete / ADB 用法大全》,但是很多没用到,为避免不必要的查询时间,就整理出常用的 adb 命令行。

// 各种命令行工具,都首倡 help,一个 help 有什么功能都可以查
adb help
// 启动 adb 服务
adb start-server

// 停止 adb 服务
adb kill-server
// 查看已连接设备/模拟器
adb devices
// 安装应用
adb install [-可选] xxx.apk
[-r:允许覆盖安装,既强制安装]
[-d:允许降级覆盖安装]
[-g:允许授予所有运行时权限安装]

// 卸载应用
adb uninstall [-k] <packagename>
[-k:卸载应用但保留数据和缓存目录]
// 查看应用列表
adb shell pm list packages [-可选]
[-s:只显示系统应用]
[-3:只显示第三方应用]
// 查看应用详细信息
adb shell dumpsys package <packagename>
// 复制粘贴文本到 Android 设备
adb shell input text 1234567890
// 实时记录日志【Ctrl+C停止记录】
adb logcat -v time > C:\log.txt
// 加上线程号
adb logcat -v threadtime > C:\log.txt
// 通过setprop动态调整Log输出级别:setprop log.tag.<YOUR_LOG_TAG> <LEVEL>
// 需要注意的是通过这种setprop方式的修改,机器掉电,Level设置就会失效
// 通过ADB方式设置并使其生效的方式如下:adb shell setprop log.tag.<YOUR_LOG_TAG> <LEVEL>,重启APP???
adb shell setprop log.tag.zzq VERBOSE
// 截图保存到电脑 D 盘
adb exec-out screencap -p > d:/sc.png

可以搞一个.bat文件,直接点击运行:《利用bat命令实现adb截屏以及保存

@echo off
color a
chcp 65001
title 截屏
echo=
rem 按照时间拼接文件名称,因为小时可能只有一位,因此_后面的小时只有一位数.
set YYYYmmdd=%date:~3,4%%date:~8,2%%date:~11,2%
set hmmss=%time:~1,1%%time:~3,2%%time:~6,2%
set "filename=%YYYYmmdd%_%hmmss%.png"
rem 截屏保存在手机的位置
set screen=/sdcard/screen.png
rem adb截屏
adb shell screencap -p %screen%
rem 指定文件夹名称
set dir=C:\Users\ZZQ\Desktop\
rem 创建文件夹
if not exist %dir% (    
    md %dir%
) 
rem adb导出文件
adb pull %screen% %dir%%filename%
echo=
echo=
echo 截屏目录:%dir%   截屏图片:%filename%
echo=
echo=
pause
// 查看设备屏幕分辨率 px * px
adb shell wm size

// 修改设备屏幕分辨率,可用于测试
adb shell wm size 720x1024

// 恢复设备原分辨率
adb shell wm size reset

// 查看设备屏幕密度 dpi
adb shell wm density

// 修改设备屏幕密度,可用于测试
adb shell wm density 160

// 恢复设备原密度
adb shell wm density reset
// 查看前台 Activity
adb shell dumpsys "activity activities | grep mFocusedActivity"
// 查看正在运行的 Services
adb shell dumpsys activity services [<packagename>]

PS: packagename 参数不是必须的,指定 packagename 表示查看与某个包名相关的 Services,不指定表示查看所有 Services。packagename 不一定要给出完整的包名,比如运行 adb shell dumpsys activity services org.mazhuang,那么包名 org.mazhuang.demo1、org.mazhuang.demo2 和 org.mazhuang123 等相关的 Services 都会列出来。

// 发送广播,可用于测试
adb shell am broadcast [-可选] <INTENT>

// 可以向所有组件广播,也可以只向指定组件广播。
// 例如,向所有组件广播 BOOT_COMPLETED:
adb shell am broadcast -a android.intent.action.BOOT_COMPLETED
// 又例如,只向 com.xxx.receiver/.BootReceiver 广播 SCREEN_ON:
adb shell am broadcast -a android.intent.action.SCREEN_ON -n com.xxx.receiver/.BootReceiver
INTENT触发时机
android.net.conn.CONNECTIVITY_CHANGE网络连接发生变化
android.intent.action.SCREEN_ON屏幕点亮
android.intent.action.SCREEN_OFF屏幕熄灭
android.intent.action.BATTERY_LOW电量低,会弹出电量低提示框
android.intent.action.BATTERY_OKAY电量恢复了
android.intent.action.BOOT_COMPLETED设备启动完毕
android.intent.action.DEVICE_STORAGE_LOW存储空间过低
android.intent.action.DEVICE_STORAGE_OK存储空间恢复
android.intent.action.PACKAGE_ADDED安装了新的应用
android.net.wifi.STATE_CHANGEWiFi 连接状态发生变化
android.net.wifi.WIFI_STATE_CHANGEDWiFi 状态变为启用/关闭/正在启动/正在关闭/未知
android.intent.action.BATTERY_CHANGED电池电量发生变化
android.intent.action.INPUT_METHOD_CHANGED系统输入法发生变化
android.intent.action.ACTION_POWER_CONNECTED外部电源连接
android.intent.action.ACTION_POWER_DISCONNECTED外部电源断开连接
android.intent.action.DREAMING_STARTED系统开始休眠
android.intent.action.DREAMING_STOPPED系统停止休眠
android.intent.action.WALLPAPER_CHANGED壁纸发生变化
android.intent.action.HEADSET_PLUG插入耳机
android.intent.action.MEDIA_UNMOUNTED卸载外部介质
android.intent.action.MEDIA_MOUNTED挂载外部介质
android.os.action.POWER_SAVE_MODE_CHANGED省电模式开启

参考文章:

GitHub - mzlogin/awesome-adb: ADB Usage Complete / ADB 用法大全

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值