Android adb使用超级大全

Android adb使用超级大全

ADB,即Android Debug Bridge,是一款强大的工具,对于Android开发/测试人员来说是不可或缺的,同时也是Android设备玩家的好玩具。本文将详细介绍ADB的使用方法。

ADB的基本用法如下:

命令语法:

复制代码
adb [-d|-e|-s <serialNumber>] <command>

如果只有一个设备/模拟器连接时,可以省略[-d|-e|-s <serialNumber>]这一部分,直接使用adb <command>

为命令指定目标设备:

如果有多个设备/模拟器连接,则需要为命令指定目标设备。

参数 含义
-d 指定当前唯一通过USB连接的Android设备为命令目标
-e 指定当前唯一运行的模拟器为命令目标
-s <serialNumber> 指定相应serialNumber号的设备/模拟器为命令目标

在多个设备/模拟器连接的情况下,常用的是-s <serialNumber>参数,serialNumber可以通过adb devices命令获取。

例如,想要指定cf264b8f这个设备来运行adb命令获取屏幕分辨率,可以使用以下命令:

复制代码
adb -s cf264b8f shell wm size

另外,如果想要给10.129.164.6:5555这个设备安装应用(这种形式的serialNumber格式为<IP>:<Port>,一般为无线连接的设备或Genymotion等第三方Android模拟器),可以使用以下命令:

复制代码
adb -s 10.129.164.6:5555 install test.apk

启动/停止:

启动adb server命令:

复制代码
adb start-server

一般情况下,无需手动执行此命令,运行adb命令时如果发现adb server没有启动,会自动调起。

停止adb server命令:

复制代码
adb kill-server

查看ADB版本:
adb version命令可以查看ADB的版本信息。

以root权限运行adbd:

ADB的运行原理是PC端的adb server与手机端的守护进程adbd建立连接,然后PC端的adb client通过adb server转发命令,adbd接收命令后解析运行。

所以如果adbd以普通权限执行,有些需要root权限才能执行的命令无法直接使用adb xxx执行。这时可以使用adb shell然后su后执行命令,也可以让adbd以root权限执行,这样就可以随意执行高权限命令了。

命令:

复制代码
adb root

正常输出应该是:

复制代码
restarting adbd as root

现在再运行adb shell,看看命令行提示符是否变成#了?

有些手机即使root后也无法通过adb root命令让adbd以root权限执行,比如三星的部分机型会提示"adbd cannot run as root in production builds"。此时可以先安装adbd Insecure,然后再尝试adb root命令。

相应地,如果要恢复adbd为非root权限,可以使用adb unroot命令。

指定adb server的网络端口:

通过adb -P <port> start-server命令可以指定adb server的网络端口,默认端口为5037。

以上是adb的基本使用方法,更多使用方法及教程参考下面链接:

https://github.com/mzlogin/awesome-adb

下面是该仓库内容的目录截图,请根据需要进行查找。




相关推荐
weixin_403810131 小时前
AI智能体写安卓自动化脚本教程:Cursor/Trae+CLI 实战,自然语言生成代码
android·人工智能·自动化·跨境电商·安卓自动化脚本·多账户运营
呆呆小孩3 小时前
零基础学 MySQL(上):从建库建表到增删改查,一篇搭好 SQL 基础
android·sql·mysql
catchadmin3 小时前
NativePHP v4 让 Blade 构建原生 iOS 与 Android 界面
android·ios·ai·php
FfHUCisI4 小时前
Golang 数据库连接池深度调优
android·数据库·golang
古法安卓7 小时前
Android-epoll原理详解
android·java·android studio
字节暗面9 小时前
四款 APP 加固强度测评:让 AI 拆了四个包,结果有点出乎意料
android·逆向工程·加固
网安蟹佬霸9 小时前
蓝队防御实战:SIEM与SOAR构建安全运营中心(万字详解+实战配置)
android·安全·web安全·网络安全·网安
敢敢のwings10 小时前
世界模型与FlashWorld:从“在梦中学习“到秒级3D场景生成
android·学习·3d
Dovis(誓平步青云)11 小时前
牛奶不能减成负数:冰箱库存的筛选、去重与不可变更新
android·java·开发语言
Awna12 小时前
MySQL 存储空间与索引运维实战:从空间排查到在线扩容
android·运维·mysql