安卓ADB调试安卓
Termux 安卓跨机ADB调试 · 完整笔记(备忘录版)
控制机:GitHub原版Termux(非F-Droid/应用商店版)
一、两套方案总览
| 方案 | 工具 | 优点 | 缺点 |
|---|---|---|---|
| 无线ADB(推荐,最简单) | android-tools(原生adb) |
无需数据线、无需Termux:API插件、无USB角色反转问题,甲壳虫/SkyADB图形APP都能用 | 被控机要求Android11+,同一WiFi |
| C2C有线ADB(安卓直连安卓) | termux-adb + Termux:API | 不用WiFi,有线稳定 | 坑多:Termux:API桌面APK必须同签名、线材限制、USB主机角色协商,仅termux-adb命令行可用;甲壳虫/SkyADB图形APP不支持该接法 |
二、方案1:无线ADB(优先推荐)
安装(控制机Termux)
pkg update && pkg install android-tools -y
被控手机操作(Android11+)
- 开启开发者选项,打开无线调试
- 点击「配对设备,使用配对码」,拿到
IP:配对端口和6位配对码
Termux命令
adb pair 192.168.x.x:34567 123456
adb connect 192.168.x.x:37123
adb devices
⚠️ 注意:配对端口 和 连接端口不是同一个!配对成功后页面显示的才是连接端口。
✅ 此模式下,甲壳虫ADB助手、SkyADB都可以正常连接使用。
三、方案2:C2C公对公有线ADB(安卓→安卓直连)
必须完成安装清单
-
控制机必须安装 Termux APK
-
控制机在Termux中执安装行 termux-api 命令
pkg install termux-api(终端内工具包,内含termux-usb) -
控制机在Termux中执安装行 termux-adb 命令, 以下(2选1方式)安装完成后,输入
termux-adb --version验证即可pkg install curl gnupg -y curl -s https://gitcode.com/gh_mirrors/ter/termux-adb/raw/master/install.sh | bash # 这个脚本会: # 添加 nohajc 的 apt 源 # 导入 GPG 密钥 # 安装`termux-adb` + `termux-fastboot`如果 curl 安装脚本失败 或者你不想使用gnupg,也可以手动安装(推荐)
pkg install git -y git clone https://gitcode.com/gh_mirrors/ter/termux-adb cd termux-adb bash install.sh -
必须安装 Termux-API APK,并且打开后台运行!
最好的是系统设置:给Termux、Termux:API关闭电池优化,允许后台活动、自启动(国产手机必做,防止进程被杀)
操作步骤(严格顺序,防止反向充电)
- 拔掉C-C数据线
- 被控手机打开开发者选项, USB 调试 + USB 调试(安全设置);开发者选项 → 默认 USB 配置,设置为:传输文件 (MTP)
- Termux重启adb服务
termux-adb kill-server后再termux-adb start-server - 插上C-C公对公数据线
- 弹窗①(控制机):Termux:API 请求访问USB设备 → 点【允许】, 弹窗②(被控机):允许USB调试 → 勾选始终允许,点【允许】
- 查看设备列表
termux-adb devices,出现设备序列号即成功。
常用命令速查
# 查看termux-adb版本
termux-adb --version
# 列出USB设备(底层调试工具)
termux-usb -l
# 重启adb服务
termux-adb kill-server
termux-adb start-server
# 查看已连接设备
termux-adb devices
# adb devices 也可以
❗C2C有线避坑清单
- 弹出【反向充电】:USB角色颠倒,被控机变成主机,adb直接失效,只能MTP浏览相册。点取消,更换线材重试。
termux-usb -l提示No Termux:API application installed:缺少桌面端Termux:API APK。- 线材必须是数据传输线,纯充电线无法通信;优先选用无E-Marker短线。
- 图形APP限制:C2C公对公直连场景,甲壳虫ADB助手、SkyADB无法使用,只能用termux-adb命令行;投屏需求可在termux内运行scrcpy。
四、甲壳虫ADB助手 / SkyADB 有线OTG说明(重点)
- ✅ 它们支持有线OTG,但稳定接法要求:至少一端必须是USB-A口
接法:控制手机C口 → C转A母OTG转接头 → A to C数据线 → 被控手机
USB-A物理固定为主机角色,不会发生角色反转,系统UsbManager正常弹出USB授权,甲壳虫/SkyADB可正常识别设备。 - ❌ C2C公对公直连(安卓直连安卓)不推荐给这两个GUI APP:双C口动态协商主机/从机,极易协商失败,系统UsbManager无法分配USB权限,大概率只能打开MTP文件浏览,无法ADB。
- 底层原理区分
- 甲壳虫/SkyADB:调用安卓系统原生
UsbManagerAPI,依赖固定USB主机角色。 - termux-adb:依靠Termux:API的termux-usb底层捕获USB设备,可以处理C2C动态角色协商,不受上面的限制。
- 甲壳虫/SkyADB:调用安卓系统原生
- 冲突提醒:不要同时启动termux-adb和其他ADB客户端,会出现ADB服务端口冲突。
五、一句话总结
想省事、想用图形界面:无线ADB,只装android-tools,甲壳虫/SkyADB都能用,没有线材坑。
想用有线、无WiFi环境:C2C公对公直连只能用termux-adb命令行,图形ADBAPP不支持这个接法;如果想用甲壳虫/SkyADB做有线调试,需要OTG转接头,接入USB-A口固定主机角色。
后续想加scrcpy投屏,也可继续相关安装命令的学习!
六、其它-安装软件到设备
当前环境一般为adb shell 普通shell用户,非root
- 可以执行
cd /进入根目录,但根目录权限为r-x--x,其他用户只有进入权限、无读取目录列表权限,所以ls会报Permission denied。 - 无root限制:
- ❌ 不能
ls /浏览根目录文件 - ✅ 可直接访问已知路径:
/data/local/tmp、/sdcard、/proc,可读写、ls查看 - ✅ 正常执行先推送到目标设备再安装
adb push apk → adb shell → pm install /data/local/tmp/xxx.apk,也可以直接adb install xx.apk
- ❌ 不能
- 获取root:输入
su,提示符由$变为#后,就能ls /;提示su不存在代表设备未root。

浙公网安备 33010602011771号