如何通过USB授权亚马逊FireTV Stick的ADB连接以实现开机运行Shell脚本
FireTV Stick ADB连接授权失败问题排查与解决
我尝试实现FireTV Stick开机自动运行Shell脚本,但始终无法完成ADB连接授权,请求协助解决。
Linux环境信息
(base) me@laptop:~$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 22.04.2 LTS Release: 22.04 Codename: jammy
(base) danielbell@laptop:~$ curl ifconfig.me 109.144.211.17
FireTV Stick设置状态
- 已开启开发者模式
- 多次开关并重启以下选项:
- ADB调试
- 未知来源应用
- 网络信息(来自“我的Fire TV”->“网络”):
- IP地址:
100.120.226.156 - DNS:
192.168.22.22
- IP地址:
执行的ADB命令及结果
(base) me@laptop:~$ adb version Android Debug Bridge version 1.0.41 Version 28.0.2-debian Installed as /usr/lib/android-sdk/platform-tools/adb (base) me@laptop:~$ adb kill-server (base) me@laptop:~$ adb start-server * daemon not running; starting now at tcp:5037 * daemon started successfully (base) me@laptop:~$ adb devices List of devices attached G070L81693920FDB unauthorized (base) me@laptop:~$ adb connect 100.120.226.156 missing port in specification: tcp:100.120.226.156 (base) me@laptop:~$ adb connect 100.120.226.156:5555 failed to connect to '100.120.226.156:5555': Connection timed out (base) me@laptop:~$ adb connect 192.168.22.22 missing port in specification: tcp:192.168.22.22 (base) me@laptop:~$ adb connect 192.168.22.22:5555 failed to connect to '192.168.22.22:5555': Connection timed out
排查与解决步骤
确认同局域网连接
你的Ubuntu公网IP是109.144.211.17,但FireTV的IP100.120.226.156属于CGNAT地址段,DNS192.168.22.22是私有网段,说明两者大概率不在同一局域网。ADB无线连接必须在同一局域网内,先把电脑和FireTV连到同一个WiFi,再获取FireTV的局域网IP(而非当前显示的CGNAT地址)。触发授权弹窗
执行adb connect [FireTV局域网IP]:5555后,FireTV屏幕应弹出授权窗口,勾选“始终允许此计算机”再确认。如果没弹窗:- 关闭FireTV的ADB调试,重启设备后重新开启
- 重启电脑ADB服务:
adb kill-server && adb start-server - 用USB线直接连接电脑和FireTV,执行
adb devices,此时设备会弹出授权窗口,完成授权后再尝试无线连接
验证网络连通性
在Ubuntu上执行ping [FireTV局域网IP],如果丢包说明网络不通:- 临时关闭Ubuntu防火墙测试:
sudo ufw disable - 检查路由器是否开启AP隔离,确保WiFi设备间可互相访问
- 临时关闭Ubuntu防火墙测试:
更新ADB版本
当前ADB版本28.0.2-debian较旧,建议更新到最新版:sudo apt remove android-sdk-platform-tools wget https://dl.google.com/android/repository/platform-tools-latest-linux.zip unzip platform-tools-latest-linux.zip sudo mv platform-tools/adb /usr/bin/adb adb version
内容的提问来源于stack exchange,提问作者DanielBell99
相关产品推荐
相关产品推荐

