天天动画片 > 八卦谈 > ADB实用命令大汇总

ADB实用命令大汇总

八卦谈 佚名 2024-03-27 20:25:19

一、介绍
Android 调试桥 (adb) 是一种功能多样的命令行工具,可与设备进行通信。adb 命令可用于执行各种设备操作(例如安装和调试应用)本文由晨钟酱原创,并提供对 Unix shell(可用来在设备上运行各种命令)的访问权限。
对于玩机用户来说,ADB的权限处于$和#之间,因此可以在不ROOT的情况下对设备进行一些特殊操作,但必须借助电脑。如果不使用电脑,则需要使用SU来获取权限。

二、下载与连接
1.下载官方SDK(如果你使用了《搞机工具箱》这一步可以不做):https://dl.google.com/android/repository/platform-tools-latest-windows.zip

2.开启USB调试方法就略过了,注意部分机型限制严格,例如小米还需要打开那个安全设置。有些电脑会出现不识别手机的情况,特别是win7。
在排除硬件问题的情况下可尝试安装驱动 https://www.bilibili.com/read/cv10024302
3.将手机连接电脑,设备管理器会出现如下图所示设备,即代表ADB驱动正常

4.(如果你使用了《搞机工具箱》这一步可以不做)解压下载的SDK,会看到以下文件,但本文所介绍的命令仅需要以下三个文件即可执行

5.在SDK根目录的地址栏输入“cmd”三个字母,按回车键即可打开命令行,并定位到当前文件夹。

在命令行输入“adb devices”即可检测当前设备,要注意首次连接需点击手机端的允许调试并打勾。
也可以设置环境变量,实现全局目录的ADB,因篇幅有限在此不讨论,可自行搜索学习。
最后输出了序列号,表示连接成功,一切准备工作到此完成!

三、基础命令
开始前,请先记住下文出现的
<pkg>代表包名
<act>代表app活动界面
<url>代表网页连接路径
<urlC>代表电脑端文件路径
<urlP>代表手机端文件路径

1.服务与连接

adb start-server
启用ADB服务
adb kill-server
关闭ADB服务
adb devices
列出ADB设备
adb -s
使用指定ADB设备。s填写上一步列出的序列号
adb tcpip 5555
设置端口转发为5555,配合下面一条可开启网络调试
adb connect xxx.xxx.xxx.xxx:5555
4个xxx代表手机局域网IP,在关于手机,状态信息,拉到最下面找到IPv4地址
adb disconnect xxx.xxx.xxx.xxx:1234
断开网络调试
adb usb
使用usb连接
adb root
使用root模式。前提是已经获取root,相当于在手机终端输入su
adb reboot
重启设备
adb reboot recovery(fastboot)
重启到rec模式(fb模式)

2.安装与卸载软件
adb install "<urlC>"
安装电脑端的apk(路径加引号是为了避免文件夹出现空格)
adb install -r "<urlC>"
覆盖安装(升级)
adb install -s "<urlC>"
安装到sd卡
adb uninstall <pkg>
卸载软件(仅第三方)
adb uninstall -k <pkg>
卸载软件但保留数据(例如给微信降级)

3.传输文件
adb push "<urlC>" <urlP>
推送电脑上的文件到手机(手机路径可手动填写,若文件夹不存在会自动创建)。重点说一下:若文件带有中文,需要在本教程由酷安晨钟酱原创,手机端最后再填写一下原文件名,例如 adb push D:\搞机.txt /sdcard/搞机.txt 否则后缀名会被吞掉(这是ANSI转UTF-8编码问题,感兴趣可以看 查看链接 )
adb pull <urlP> "<urlC>"
将存储目录的文件推送到手机,例如adb pull /sdcard/123.txt C:\Users\Administrator\Desktop

4.活动管理器
adb shell am start <pkg>/<act>
启动app并打开指定界面
adb shell am force-stop <pkg>
强制停止app(执行后app会直接闪退)
adb shell am start -a android.intent.action.VIEW -d <url> -p <pkg>
使用指定app打开某个网页链接

5.包管理器
adb shell pm disable-user <pkg>
禁用系统app,这条一定要背熟!对付洋LJ必备
adb shell pm enable <pkg>
启用系统app,和上一条配合使用
adb shell pm install <urlP>
安装手机内的apk文件。注意和不带shell pm的要区分开!路径前也可以跟随之前介绍的几个参数。
adb shell pm uninstall <pkg>
卸载软件。注意:如果带 "--user 0"参数,则可“卸载”系统软件,但并不是真正的卸载,相关介绍可以看 查看链接。
adb shell pm clear <pkg>
清除所有数据,恢复到初始安装后的状态
adb shell pm list package -f
列出apk的安装位置与对应包名
adb shell pm list package -d
列出禁用的包名,仅限系统应用
adb shell pm list package -e
列出启用的包名,仅限系统应用
adb shell pm list package -s
列出所有系统应用包名
adb shell pm list package -3
列出第三方应用包名
adb shell pm list package -i
列出软件对应的安装来源的包名
adb shell pm list package -i
列出本图文由晨钟酱Official原创的包名
adb shell pm list package -u
列出被卸载过的软件的包名
《搞机工具箱》的软件操作内,包含了以上2.3.4.5部分功能

6.窗口管理器
adb shell wm density
列出当前显示的DPI。注意,这并不是开发者选项中的dp!换算为"横向分辨率*160/DPI=dp
adb shell wm density xxx
设置DPI为xxx,xxx是正整数
adb shell wm density reset
恢复默认DPI
adb shell wm size
列出当前显示的分辨率。
adb shell wm size axb
设置分辨率,注意手机的格式为“横向x纵向”,且中间的“x”就是字母x,不是乘号,两边没有空格!
adb shell wm size reset
恢复默认分辨率
adb shell wm overscan a,b,c,d
设置、重置屏幕的显示区域。abcd四个参数为整数,分别是显示边缘距左、上、右、下的像素数,正里负外。听不懂没关系,记住它有一个很重要的用途就是永久隐藏导航栏,使用命令wm overscan 0,0,0,-d,其中d为导航栏的像素高度。
关于wm命令多说一句:就算有root了也建议在电脑改以上信息,不会因为手残多输了一位数字让当前界面严重变形,想恢复却找不到输入框。特别是遇到MIUI这种默认有最高限制的,root强行改不好就会卡米!
《搞机工具箱》的显示操作内,包含了以上6的全部功能

7.按键与触摸模拟
adb shell input text “xxx”
向设备输入xxx字符(不支持中文,同样是因为编码问题)
adb shell input keyevent x
x代表keycode。下图左边的红色数字就是keycode,这里只列举一些常用的,完整版的可以自己查。

例如输入adb shell input keyevent 26 就相当于按了一下锁屏键
adb shell input tap x y
模拟点击屏幕x和y坐标,坐标可以打开开发者中的“指针位置”来确定
adb shell input swipe x1 y1 x2 y2 d
在d毫秒内,模拟滑动屏幕x1,y1坐标到x2,y2坐标。
总结一下,input命令加上循环可用作按键脚本,连点器等等。可玩性非常高,真正做到解放双手。
《搞机工具箱》的触摸模拟内,包含了以上7的部分功能

四、高级命令(部分机型可能没效果)
1.Settings设置表
adb shell settings put global window_animation_scale 1.25 修改窗口动画速度为1.25
adb shell settings put global transition_animation_scale 1.32
修改过渡动画速度为 1.32
adb shell settings put global animator_duration_scale 1.55
修改程序动画速度为 1.55
adb shell settings put system font_scale 1.02
修改全局字体缩放为1.02,1为默认
adb shell settings put global policy_control immersive.status=*
隐藏状态栏,上滑可出
adb shell settings put global policy_control immersive.navigation=*
隐藏导航栏,上滑可出
adb shell settings put secure icon_blacklist rotate,volume
隐藏状态栏的旋转和音量图标。注意多个隐藏的图标只能用一条完整指令隐藏,不填就代表会显示!其他图标可以看这里 查看链接
adb shell settings put secure sysui_qqs_count 8
修改状态栏一级下拉图标数量为8个
adb shell settings put secure sysui_rounded_content_padding 2
修改状态栏两侧的置顶间距位2(仅限Pie及以上系统使用,非圆角屏建议调成0)
adb shell settings put global captive_portal_https_url htt删p://connect.rom.miui.c删om/generate_204
修改WIFI验证服务器为国内服务器,多用于去除wifi的x号
更多settings指令可使用adb shell settings查看,充分利用help命令,包括打印系统自带的system, secure, global列表,学会了settings才算真正的掌握了ADB玩机的精髓。以上命令想恢复默认只需删掉最后的参数,本文由B站的晨钟酱Official原创,把put改成reset执行即可
《搞机工具箱》的软件操作内,包含了以上的全部功能

2.dumpsys系统状态
adb shell dumpsys window windows | findstr "Current"
显示当前界面的activity。可配合am start <pkg>/<act>; 让app打开并跳转到指定界面
adb shell dumpsys battery
列出电池状态
adb shell dumpsys battery set level 150
修改电池百分比为150
adb shell dumpsys battery reset
恢复真实百分比
adb shell dumpsys meminfo
列出内存状态
adb shell dumpsys cpuinfo
列出CPU状态
adb shell dumpsys gfxinfo
列出帧率状态
adb shell dumpsys display
列出显示屏状态
上面的四个会打印出很多信息,感兴趣可以研究一下输出,多用于开发调试。
目前比较常用的就是以上这些了。如有错误欢迎指出

doge呵斥

搞机工具箱下载:jamcz.com

本文标题:ADB实用命令大汇总 - 八卦谈
本文地址:www.ttdhp.com/article/52390.html

天天动画片声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
扫码关注我们