尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

老Flyme 官方 root 开启 ADB TCP 方案

老Flyme 官方 root 开启 ADB TCP 方案 Flyme 官方 root 开启 ADB TCP 方案2026/7/3问题Flyme 官方 root 的su运行在u:r:shell:s0上下文无法直接控制 adbdctl.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.configadb property:sys.usb.configfs0 start adbd因为init 自己执行start adbd不受 SELinux 上下文限制adbd 正常启动并读取service.adb.tcp.port属性。对比直接ctl.restart方法执行者SELinux 上下文结果setprop ctl.restart adbdshellu:rs0拒绝sys.usb.configadb触发器initu:r:init:s0允许 ✓部署脚本/data/local/flyme_adb.sh#!/system/bin/shsetprop service.adb.tcp.port5555setprop sys.usb.config nonesleep1setprop sys.usb.config adb开机自启 APP编译 ADB Boot Helper APKBootReceiver 前台服务安装后打开一次授权 su打开 APP → 授权 su → ADB TCP 即刻开启 ✓ 重启后BootReceiver → 前台服务 → 15秒后执行脚本 → TCP 自启 ✓验证adb connect设备IP:5555 adb devices注意切换sys.usb.config会短暂断开 USB 连接系统播放断开声属于正常现象Flyme 官方 root 的授权记忆可能不覆盖后台 BroadcastReceiver依赖前台服务保持生命周期
返回列表