一、前言


对于很多华为(鸿蒙系统)用户来说,使用 Shizuku 最大的痛点在于:**通过 USB 线用电脑激活后,只要一拔线,Shizuku 就会立刻断开连接**。这是因为鸿蒙系统严格的后台管理机制,导致 Shizuku 进程依赖于当前的 USB ADB 会话。

此外,部分华为机型在开发者选项中隐藏了自带的“无线调试”选项。今天这篇教程,教大家如何借助电脑,通过传统的 `adb tcpip` 命令强制开启无线调试端口,从而让 Shizuku 彻底摆脱数据线,实现无线常驻!

前提条件

1. 手机与电脑必须连接在同一个局域网下(同一个 Wi-Fi 或路由器。注意:避开有 AP 隔离的公共网络,不建议用手机自己开热点)。
2. 电脑已安装 ADB 工具(Platform-Tools),并配置好环境变量。

二、详细操作步骤

第一步:手机端准备

1. 打开手机设置 -> 关于手机,连续点击“版本号”7次,开启开发者模式。
2. 进入设置 -> 系统和更新 -> 开发人员选项,找到并开启以下两个选项:
        USB 调试
        “仅充电”模式下允许 ADB 调试(这个选项很关键,决定了拔线后的稳定性)

第二步:电脑通过 USB 连接手机

1. 用数据线将手机连上电脑。
2. 在电脑上按下 Win + R,输入 cmd 打开命令行。
3. 输入以下命令确认设备已连接:

        adb devices

注意:

此时手机可能会弹出“允许USB调试吗?”的授权框,务必勾选“始终允许”并点击确定。当看到设备状态为`device`时,即可进入下一步。

第三步:开启无线调试端口(核心)

在电脑命令行中输入以下命令:

        adb tcpip 5555

解释:

这个命令会让手机的 ADB 服务监听 5555 端口。看到 restarting in TCP mode port: 5555 就说明成功了。

第四步:通过 Wi-Fi 连接手机

1. 查看手机当前的 IP地址(设置 -> 关于手机 -> 状态信息 -> IP地址)。
2. 拔掉手机上的 USB 数据线(一定要拔掉,否则数据线连接和无线连接会冲突)。
3. 在电脑命令行中,输入以下命令进行无线连接(把IP换成你自己的):

        adb connect 你的手机IP地址:5555

例如:`adb connect 192.168.1.100:5555`。如果提示`connected to ...`则代表连接成功!

第五步:启动 Shizuku

确认无线连接成功后,在电脑上执行以下命令:

        adb shell sh /storage/emulated/0/Android/data/moe.shizuku.privileged.api/start.sh

(如果提示找不到文件,可以直接调用核心库文件,使用你之前测试成功的长路径命令)

此时,打开手机上的 ShizukuApp,点击启动后等待。如果看到“Shizuku 正在运行”,大功告成!现在你可以带着手机随意走动,只要不重启手机,Shizuku 就不会掉线。

三、常见报错与避坑指南(精华)

在折腾的过程中,你大概率会遇到以下几个问题,这里直接给出解决方案:

1. 报错:`error: more than one device/emulator`

原因:电脑同时识别到了 USB 连接和无线连接的两个同一台设备,或者后台有安卓模拟器。
解决:在所有命令中加入 `-s` 参数指定设备。比如:
    `adb -s 192.168.1.100:5555 shell ...`

2. 报错:`device unauthorized`

原因:手机端没有授权电脑。
解决:拔插数据线,看手机屏幕是否弹出授权框。或者在命令行执行 `adb kill-server` 然后重新 `adb devices`。若仍无弹窗,关闭并重新打开手机上的“USB 调试”开关。

3. 报错:`adb server version (39) doesn't match this client (41)`

原因:后台有旧版本的 ADB 服务残留(如某些手机助手、刷机软件带起的)。
解决:执行 `taskkill /f /im adb.exe` 强杀所有 ADB 进程,然后重启电脑。

4. 拔线后依然掉线 / 连接失败

原因:路由器开启了“AP隔离”,或者电脑和手机不在同一网段(比如企业网 `10.x.x.x`)。
解决:用电脑 `ping` 手机 IP,如果不通就是网络隔离,建议换个普通家用路由器或使用另一台手机开热点。

如何防止 Shizuku 被后台杀死?

无线连上之后,为了防止华为系统杀后台,建议做以下设置:
1. 锁定后台:在多任务界面,下拉 Shizuku 卡片将其锁定。
2. 启动管理:设置-->应用和服务-->应用启动管理-->找到Shizuku-->关闭“自动管理”-->手动开启“允许自启动、允许关联启动、允许后台活动”。
3. 电池优化:设置-->隐私-->权限管理-->特殊访问权限-->电池优化-->找到 Shizuku,设置为“不允许”。

四、结语

只要手机不重启,这个无线连接会一直保留。如果手机重启了,只需要重新连接上同一 Wi-Fi,在电脑上再次执行 `adb connect IP地址:5555` 并运行启动命令即可,从此告别反复插拔数据线的烦恼!希望能帮到同样用华为手机的机友。

还有什么问题可以评论里讨论。

Logo

作为“人工智能6S店”的官方数字引擎,为AI开发者与企业提供一个覆盖软硬件全栈、一站式门户。

更多推荐