老Flyme 官方 root 开启 ADB TCP 方案

Flyme 官方 root 开启 ADB TCP 方案

2026/7/3

问题

Flyme 官方 root 的 su 运行在 u:r:shell:s0 上下文,无法直接控制 adbd:

  • ctl.restart adbd --- 需要 init 上下文,shell 无权
  • stop/start adbd --- adbd 是 oneshot 服务,shell 拉不起来
  • 直接写 /dev/socket/adbd --- 内部传输接口,不接受用户命令
  • ADB 协议帧 --- 连接即断(EOF)

解决方案:sys.usb.config 切换法

复制代码
APP → su → 脚本
  ├── setprop service.adb.tcp.port 5555
  ├── setprop sys.usb.config none    ← init 监听到变化
  ├── sleep 1
  └── setprop sys.usb.config adb     ← init 再次监听到
                                        ↓
                                  init 执行 on property 触发器
                                  ├── stop adbd
                                  └── start adbd  ← init 有权限!
                                        ↓
                                  新 adbd 读到端口
                                  → TCP 5555 开放 ✓

关键原理

sys.usb.config 是 Android 系统属性,init 进程会监听它的变化。当值变为 adb 时,init.rc 中定义的触发器被执行:

复制代码
on property:sys.usb.config=adb && property:sys.usb.configfs=0
    start adbd

因为 init 自己执行 start adbd ,不受 SELinux 上下文限制,adbd 正常启动并读取 service.adb.tcp.port 属性。

对比直接 ctl.restart

方法 执行者 SELinux 上下文 结果
setprop ctl.restart adbd shell u:r🐚s0 拒绝
sys.usb.config=adb 触发器 init u:r:init:s0 允许 ✓

部署

脚本 /data/local/flyme_adb.sh

sh 复制代码
#!/system/bin/sh
setprop service.adb.tcp.port 5555
setprop sys.usb.config none
sleep 1
setprop sys.usb.config adb

开机自启 APP

编译 ADB Boot Helper APK(BootReceiver + 前台服务),安装后打开一次授权 su:

复制代码
打开 APP → 授权 su → ADB TCP 即刻开启 ✓
重启后:BootReceiver → 前台服务 → 15秒后执行脚本 → TCP 自启 ✓

验证

sh 复制代码
adb connect <设备IP>:5555
adb devices

注意

  • 切换 sys.usb.config 会短暂断开 USB 连接(系统播放断开声),属于正常现象
  • Flyme 官方 root 的授权记忆可能不覆盖后台 BroadcastReceiver,依赖前台服务保持生命周期
相关推荐
摇滚侠20 小时前
《On Java 中文版 基础卷》阅读笔记 实现隐藏 12
java·数据库·笔记
川石课堂软件测试21 小时前
学习软件测试需掌握的一些知识
数据库·python·sql·功能测试·网络协议·mysql·http
qq_4017004121 小时前
Linux设备树详解
linux·运维·服务器
2501_9377671621 小时前
自建 SQL 数据库定时备份踩坑复盘与落地思路
数据库·sql
云梦谭1 天前
让 Linux 主动连接 Windows:配置 Windows 11 SSH 服务端
linux·windows·ssh
刚入门的大一新生1 天前
Linux-信号
linux·运维·服务器
zl_dfq1 天前
Windows 下 TCP 套接字编程指南::从 Winsock 初始化到回显服务器
tcp/ip
明天也要努力学习1 天前
IP 协议的相关特性
网络·网络协议·tcp/ip
silvamux_1 天前
10款模型写种草笔记:可发布性、返工来源与成本数据缺口复盘
java·数据库·笔记
I Am a robert girl1 天前
从 GameHorizon 拆解多时间尺度游戏评测:数据管线、离线基准与在线回放的三层设计
数据库·游戏·多时间尺度·数据管线·游戏评测·离线基准·在线回放