文章目录
前置条件校验
电视端ADB调试开关完整开启
- 激活开发者选项:进入电视「设置」-「关于本机」-「版本号」,连续点击7次触发开发者模式激活提示。
- 完整开启调试权限:进入开发者选项,需同时开启USB调试 、网络ADB调试/无线调试(部分厂商命名为"远程ADB调试"),缺一不可;部分电视需额外开启"USB安装""未知来源应用安装"权限。
- 授权弹窗处理:首次连接时,电视会弹出"允许来自此计算机的调试"弹窗,必须点击「允许」,并勾选「始终允许来自此计算机」,否则会直接触发
unauthorized未授权错误;若未弹出弹窗,需重启ADB开关后重试。 - 注意事项:多数电视重启后会自动关闭ADB调试开关,每次连接前需重新确认开关状态;部分电视的USB口仅支持供电,需插入标注"数据传输"的USB接口。
网络连通性测试
- 局域网同网段确认:电脑与电视必须接入同一个局域网、同一个IP网段,禁止出现电脑连主路由、电视连子路由/AP,或电脑连5G WiFi、电视连2.4G WiFi且开启AP隔离的情况,否则会直接导致网络不通。
- 基础网络连通性校验:在电视「网络设置」中查看电视的局域网IP地址,电脑端打开终端/CMD,执行
ping 电视IP地址,若出现请求超时,优先排查路由器AP隔离、防火墙规则,确保两台设备可直接互通。 - 5555端口可达性校验:ADB默认监听5555端口,需确认端口未被拦截:
- Windows终端执行:
Test-NetConnection 电视IP地址 -Port 5555 - Mac/Linux终端执行:
nc -zv 电视IP地址 5555
若提示端口不可达,说明电视端ADB守护进程未正常启动,或系统防火墙拦截了端口访问。
- Windows终端执行:
有线USB连接测试
- 使用双公头USB数据线,直接连接电脑与电视的USB数据口;
- 电脑端安装对应电视芯片的ADB驱动(晶晨、瑞芯微、MTK等芯片需单独安装厂商驱动);
- 终端执行
adb devices,查看是否能识别到电视设备。- 若有线可正常连接、无线无法连接:问题集中在网络配置、无线ADB服务启动异常;
- 若有线也无法连接:问题集中在ADB开关配置、驱动、版本兼容性、系统权限限制。
电视端ADB服务异常修复
-
使用甲壳虫ADB助手建立有线/无线连接,在其命令终端执行以下命令,强制配置端口并重启adbd服务:
bashadb shell setprop service.adb.tcp.port 5555 adb shell stop adbd adb shell start adbd -
自定义端口避开系统拦截:将ADB监听端口改为5556、6666等非默认端口,避免厂商系统的端口拦截。
防火墙与网络拦截排查
- 电脑端:临时关闭Windows Defender防火墙、第三方安全软件(360、腾讯管家等),重新尝试连接;若关闭后可正常连接,将ADB程序加入防火墙白名单,允许其出站、入站网络连接。
- 路由器端:关闭AP隔离、访客网络隔离、局域网防火墙规则,确保同一网段内设备可自由通信;禁止开启VPN、代理工具,避免路由跳转导致网段隔离。
常见错误码快速解决方案
| 错误提示 | 核心原因 | 优先解决方案 |
|---|---|---|
| 连接超时/连接无响应 | 网络不通、端口不可达、AP隔离 | 校验同网段连通性、关闭AP隔离、确认端口监听正常 |
| unauthorized 未授权 | 未通过电视授权、密钥不匹配 | 确认授权弹窗、复用信任密钥、端口转发中继方案 |
| device offline 设备离线 | ADB版本不匹配、adbd服务异常 | 升级电脑端ADB到最新版、重启电视adbd服务 |
| connection refused 连接被拒绝 | adbd服务未启动、端口未监听 | 第三方App开启ADB、重启adbd服务、自定义端口 |
其他参考
- 甲壳虫ADB调试连接
甲壳虫ADB调试连接默认可以通过5555端口远程连接或者有线连接,如果不成功,一般是版本问题,请参考 https://blog.csdn.net/zhiyuan411/article/details/136429878 更新版本后即可连接,不再赘述。 - 为电视安装第三方应用
参考: https://blog.csdn.net/zhiyuan411/article/details/136429878,不再赘述。
替换ADB版本
ADB版本兼容性核心规则
- ADB架构:电脑端客户端(adb命令行程序)、电视端服务端&守护进程(系统内置adbd进程)。
- Android官方遵循 "高版本服务端兼容低版本客户端,但低版本服务端可能无法响应高版本客户端的新特性" 的原则。
- 现象:电脑使用最新的 platform-tools (v34+) 连接老旧电视(Android 6.0/7.0,内置旧版adb daemon),可能出现 error: protocol fault (no status) 或直接超时。
- 策略:当遇到不明原因的连接中断时,尝试降级电脑端的ADB至与电视Android版本相近的版本(如 v29 或 v30),往往能奇效解决。
电脑端本地ADB版本查看
直接在终端执行命令:
bash
adb version
输出结果中Android Debug Bridge version后的数字,即为电脑端ADB的完整版本号。
甲壳虫ADB助手使用的ADB版本查看
- 甲壳虫ADB助手是移动端最常用的ADB调试工具,其内置独立的ADB程序;
- 很难有方法可以直接查看内置ADB版本号 ,一种成本较高的方式是:
- 开启手机开发者选项 :进入手机
设置->关于手机连续点击版本号激活开发者模式,随后在开发者选项中开启USB调试及无线调试(若需无线连接)。 - 建立电脑与手机的ADB连接 :在电脑终端通过配对码进行无线调试或通过数据线连接,确保
adb devices能列出该手机设备。 - 定位并查询应用进程 :执行命令
adb shell ps -A | grep com.didjdk.adbhelper,获取该应用的进程PID(进程ID)。 - 过滤日志观察版本加载信息 :利用获取的PID或包名过滤Logcat日志,执行命令
adb logcat --pid=<PID>。 - 分析启动日志 :在应用启动瞬间的日志中,寻找类似
Starting adb server version xx.xx.xx或init adb binary: vxx.x的关键字段。由于甲壳虫在初始化时会加载内置的二进制文件,该过程通常会在标准输出或错误日志中打印版本标识,从而间接推断其内核版本。
- 开启手机开发者选项 :进入手机
- 甲壳虫没有官网,jiakechong.net 这个网站是李鬼网站,就是推广告的,无实际功能,小心避雷。
电视端内置adbd版本查看
-
用甲壳虫ADB助手完成与电视的远程ADB连接,进入设备的「命令终端」;
-
执行以下命令提取adbd版本信息:
bashstrings /system/bin/adbd | grep "Android Debug Bridge version"输出结果即为电视系统内置的adbd守护进程版本号。
-
如果没有权限,可以直接根据安卓版本推断最佳适配adb版本:
bashgetprop ro.build.version.release
官方ADB工具包下载
ADB工具包无需安装完整Android SDK,直接下载谷歌官方platform-tools压缩包即可使用,官方下载地址如下:
https://developer.android.com/studio/releases/platform-tools
历史版本官方直链下载地址:
替换与生效步骤:
- 下载对应系统的压缩包并解压,得到完整的platform-tools文件夹;
- 关闭电脑端正在运行的ADB服务,执行
adb kill-server; - 将解压后的文件放在合适目录,但是不要覆盖掉当前使用的ADB文件(包括第三方工具内置的ADB程序);
- 重启ADB服务:进入新解压的文件夹内,执行
./adb start-server,重新执行./adb connect 电视IP:5555尝试连接。
第三方无线调试App
核心操作
通过U盘、第三方商店的远程安装等方式,将无线ADB辅助App安装到电视端,由App获取系统权限后,主动拉起adbd服务、开启端口监听,绕过厂商对系统原生ADB的限制。
常用工具
- ADB WiFi无线调试App:支持自定义ADB监听端口,可避开系统拦截的默认5555端口,适配绝大多数安卓4.4以上的电视/盒子系统,开启后可在App内查看连接地址;
- 厂商官方辅助工具:部分官方运维工具内置了ADB调试开启入口,网上根据电视品牌进行搜索相关的流出版本使用,兼容性优于第三方App,可优先尝试。
- 完成App端ADB开启后,重新在电脑端执行端口可达性校验,确认端口正常监听后,执行
adb connect命令尝试连接。
手机端口转发中继
前置准备
- 电脑、手机、电视三台设备接入同一个局域网;
- 手机端安装甲壳虫ADB助手,已成功与电视建立ADB连接,且可正常执行shell命令;
- 电脑端已安装配置好ADB工具。
操作步骤
-
手机开启开发者选项与USB调试,用无线ADB调试/USB数据线连接电脑,终端执行
adb devices确认手机设备正常在线; -
执行端口转发命令,建立电脑到电视的转发链路:
bashadb forward tcp:5556 tcp:电视IP地址:5555 -
电脑端执行连接命令,通过本地端口接入电视ADB:
bashadb connect 127.0.0.1:5556 -
执行
adb devices验证设备在线状态,完成连接。
ADB调试信任证书复用
核心原理
ADB的授权机制基于非对称加密:
- 客户端(电脑/手机)生成RSA公私钥对,私钥本地保存,公钥在首次连接时发送给设备;
- 设备(电视)将授权通过的公钥,保存在
/data/misc/adb/adb_keys信任列表中,后续连接时直接校验公钥合法性; - 若将手机端已被电视信任的公私钥对,完整复制到电脑端,电脑即可使用该密钥对完成身份校验,直接通过电视的授权验证,无需弹出新的授权窗口。
操作步骤
-
提取手机端的ADB信任密钥对:
- 使用 Termux(Shizuku) 等本地终端应用连接本机,或者直接使用甲壳虫ADB助手应用连接本机也可以。
- ADB的RSA密钥通常位于:
/data/misc/adb/adb_keys,读取该文件内容备用。(不依赖Shizuku可能需要root权限)
-
替换电脑端的ADB密钥对
- 关闭电脑端ADB服务,终端执行
adb kill-server; - 打开电脑端ADB密钥目录:
- Windows系统:
C:\Users\你的系统用户名\.android\ - Mac/Linux系统:
~/.android/
- Windows系统:
- 备份目录中原有的
adbkey和adbkey.pub文件,避免丢失原有授权; - 将手机端导出的两个密钥文件,复制到该目录中,覆盖原有同名文件。
- 关闭电脑端ADB服务,终端执行
-
连接验证
- 重启电脑端ADB服务,执行
adb start-server; - 终端执行连接命令:
adb connect 电视IP地址:5555; - 电视会直接校验密钥合法性,无需弹出授权弹窗,正常完成连接,解决未授权问题。
- 重启电脑端ADB服务,执行
将电视应用安装到手机后调试
- 提取 APK:使用甲壳虫连接电视,在"应用管理"中备份目标应用,将生成的 APK 传输至手机。
- 自行下载安装包要核对架构 :
- 查看电视的 CPU (甲壳虫"设备信息"页):常见为
arm64-v8a(新)、armeabi-v7a(旧)。 - 下载对应的安装包版本到手机上进行安装。
- 查看电视的 CPU (甲壳虫"设备信息"页):常见为
- 安装与排错 :
- 直接安装 APK。若报"解析包错误",多为架构不兼容。
- 若闪退,通常因缺少电视专属库或 Manifest 中限制了
leanback功能。需通过logcat分析崩溃日志。
- 操作注意:电视应用依赖遥控器方向键,在触屏手机上可能出现焦点丢失,需适应其交互逻辑。
厂商系统限制进阶绕过(不推荐)
- 系统版本调整:升级电视系统到最新官方版本,或降级到已验证支持ADB调试的历史版本;
- 工厂模式开启:进入电视工厂模式,找到「ADB调试」「USB调试」开关并开启(注意:工厂模式操作有风险,错误配置可能导致系统故障,需严格对应厂商教程操作);
- TTL串口调试:通过TTL串口线连接电视主板,进入shell终端,手动开启ADB调试权限,适合有嵌入式开发经验的进阶用户。