惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
DataBreaches.Net
有赞技术团队
有赞技术团队
Jina AI
Jina AI
H
Help Net Security
D
Docker
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Blog — PlanetScale
Blog — PlanetScale
Hugging Face - Blog
Hugging Face - Blog
罗磊的独立博客
MyScale Blog
MyScale Blog
N
Netflix TechBlog - Medium
B
Blog RSS Feed
Martin Fowler
Martin Fowler
WordPress大学
WordPress大学
T
The Blog of Author Tim Ferriss
U
Unit 42
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
MongoDB | Blog
MongoDB | Blog
美团技术团队
M
MIT News - Artificial intelligence
阮一峰的网络日志
阮一峰的网络日志
博客园 - 司徒正美
Microsoft Security Blog
Microsoft Security Blog
IT之家
IT之家

博客园 - 丁少华

adb提取本机apk 高德地图车机版本9.5制作共存 Taskfile 拆分子文件 go项目的taskfile Go 内嵌网页 windows的终端像mac一样好用 pgsql指定用户看到某个表 vue不使用根组件 Huma + Orval 前后端 API 自动生成方案 Mac安装nginx 不喜欢Go的几点 代码写错分支拯救指南 React UI 库推荐 Loop Engineering Vue 3 UI 组件库 Neon白嫖免费pgsql 域名利用cloudflare免费图床 nginx反代CloudflarePages提示502 vite使用shadcn vite使用biome Window下Nginx winserver2022安装不上软件 mac已损坏无法打开 代码高亮 命令运行器之task 命令运行器之just windows开启wsl 白嫖Redis 白嫖MongoDB vercel无服务函数
安卓ADB调试安卓
丁少华 · 2026-09-14 · via 博客园 - 丁少华

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+)

  1. 开启开发者选项,打开无线调试
  2. 点击「配对设备,使用配对码」,拿到 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关闭电池优化,允许后台活动、自启动(国产手机必做,防止进程被杀)

操作步骤(严格顺序,防止反向充电)

  1. 拔掉C-C数据线
  2. 被控手机打开开发者选项, USB 调试 + USB 调试(安全设置);开发者选项 → 默认 USB 配置,设置为:传输文件 (MTP)
  3. Termux重启adb服务 termux-adb kill-server后再termux-adb start-server
  4. 插上C-C公对公数据线
  5. 弹窗①(控制机):Termux:API 请求访问USB设备 → 点【允许】, 弹窗②(被控机):允许USB调试 → 勾选始终允许,点【允许】
  6. 查看设备列表 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有线避坑清单

  1. 弹出【反向充电】:USB角色颠倒,被控机变成主机,adb直接失效,只能MTP浏览相册。点取消,更换线材重试。
  2. termux-usb -l 提示No Termux:API application installed:缺少桌面端Termux:API APK。
  3. 线材必须是数据传输线,纯充电线无法通信;优先选用无E-Marker短线。
  4. 图形APP限制:C2C公对公直连场景,甲壳虫ADB助手、SkyADB无法使用,只能用termux-adb命令行;投屏需求可在termux内运行scrcpy。

四、甲壳虫ADB助手 / SkyADB 有线OTG说明(重点)

  1. ✅ 它们支持有线OTG,但稳定接法要求:至少一端必须是USB-A口

    接法:控制手机C口 → C转A母OTG转接头 → A to C数据线 → 被控手机
    USB-A物理固定为主机角色,不会发生角色反转,系统UsbManager正常弹出USB授权,甲壳虫/SkyADB可正常识别设备。

  2. ❌ C2C公对公直连(安卓直连安卓)不推荐给这两个GUI APP:双C口动态协商主机/从机,极易协商失败,系统UsbManager无法分配USB权限,大概率只能打开MTP文件浏览,无法ADB。
  3. 底层原理区分
    • 甲壳虫/SkyADB:调用安卓系统原生UsbManagerAPI,依赖固定USB主机角色。
    • termux-adb:依靠Termux:API的termux-usb底层捕获USB设备,可以处理C2C动态角色协商,不受上面的限制。
  4. 冲突提醒:不要同时启动termux-adb和其他ADB客户端,会出现ADB服务端口冲突。

五、一句话总结

想省事、想用图形界面:无线ADB,只装android-tools,甲壳虫/SkyADB都能用,没有线材坑
想用有线、无WiFi环境:C2C公对公直连只能用termux-adb命令行,图形ADBAPP不支持这个接法;如果想用甲壳虫/SkyADB做有线调试,需要OTG转接头,接入USB-A口固定主机角色。

后续想加scrcpy投屏,也可继续相关安装命令的学习!

六、其它-安装软件到设备

当前环境一般为adb shell 普通shell用户,非root

  1. 可以执行 cd / 进入根目录,但根目录权限为 r-x--x其他用户只有进入权限、无读取目录列表权限,所以ls会报Permission denied
  2. 无root限制:
    • ❌ 不能ls /浏览根目录文件
    • ✅ 可直接访问已知路径:/data/local/tmp/sdcard/proc,可读写、ls查看
    • ✅ 正常执行先推送到目标设备再安装adb push apk → adb shell → pm install /data/local/tmp/xxx.apk,也可以直接adb install xx.apk
  3. 获取root:输入su,提示符由$变为#后,就能ls /;提示su不存在代表设备未root。