macOS 有线连接指南
RNDIS 网络驱动是安卓手机常见的默认有线共享网络方式,UPort也采用了这一方案。 但macOS 没有内置 RNDIS 网络驱动,因此默认无法通过 USB 直接连接 UPort。
如果只是临时连接一次,例如重置密码,建议改用其他设备访问 UPort,例如 Windows/Linux 电脑或安卓手机。iPhone 通常也无法完成这类连接。
如果没有其他设备,或者希望长期在 macOS 上通过 USB 连接,就需要安装第三方 RNDIS 驱动。请注意,安装该驱动需要关闭一部分系统安全策略,可能降低设备安全性。卸载和恢复 SIP 的方法见文末。
本文使用的驱动来自社区项目 HoRNDIS。原项目由 jwise 开发,但已经长期未维护;macOS 11 及以上版本通常需要使用后续适配版本。
相关项目链接:
- https://joshuawise.com/horndis
- https://github.com/jwise/HoRNDIS
- https://github.com/TomHeaven/HoRNDIS (适配 macOS 11+)
- https://github.com/nEdAy/HoRNDIS-for-M1(Apple M1 芯片专版)
完成驱动安装后,macOS 就能识别 RNDIS 网络设备了,如下图所示。

安装方式
无论采用哪种方式安装,都需要先完成“第一步:允许第三方内核扩展”。
方式一:安装 GitHub 的预编译安装包
可以直接在项目页面下载 .pkg 安装包。完成第一步后运行安装包,然后到“系统设置 → 隐私与安全性”中允许该内核扩展。重启后,macOS 应该就能识别 RNDIS 网络设备。
方式二:自行编译或安装我们提供的版本
如果要自行编译,需要先安装 Xcode 编译环境。也可以使用我们提供的、面向 Apple M 系列芯片预编译好的内核扩展文件。晚于 2020 年生产的 Mac 电脑通常都可以使用该版本。
第一步:允许第三方内核扩展
先将 Mac 关机,然后进入恢复模式:
- Apple Silicon 芯片:长按电源键。
- Intel 芯片:开机时长按 Command + R。
进入恢复模式后,打开菜单栏“实用工具 → 终端”,输入以下命令。该操作会重新启用 SIP,但保留第三方内核扩展权限:
csrutil disable
(请输入你的密码)
csrutil enable --without kext
(请输入你的密码)
接下来进入菜单栏“实用工具 → 启动安全性实用工具”,勾选允许来自被认可的开发者的内核扩展。
第二步:安装预编译文件
如果打算自行编译,可以跳过这一步。
首先下载预编译文件: 下载 HoRNDIS.kext.zip
打开终端,运行以下命令,进入内核扩展目录:
cd /Library/Extensions
open .
将下载好的 HoRNDIS.kext 放到打开的“访达(Finder)”窗口。
回到原来的终端,运行以下命令加载内核扩展:
sudo kextload -t HoRNDIS.kext
重启电脑后,重新插上 UPort 或 安卓手机(打开有线网络共享)。此时应该可以在系统设置中看到新的网络设备。
第二步:自行编译安装
如果选择自行编译,可以使用 TomHeaven 适配版本:
git clone https://github.com/TomHeaven/HoRNDIS.git
cd HoRNDIS
make
sudo cp -R build/Release/HoRNDIS.kext /Library/Extensions/
sudo kextload /Library/Extensions/HoRNDIS.kext
卸载
打开终端,执行以下命令卸载 HoRNDIS。完成后需要重启电脑,并按下方命令恢复 SIP。
BUNDLE_ID=$(/usr/libexec/PlistBuddy -c 'Print :CFBundleIdentifier' /Library/Extensions/HoRNDIS.kext/Contents/Info.plist)
echo "Bundle ID: $BUNDLE_ID"
sudo kmutil unload -b "$BUNDLE_ID" 2>/dev/null || sudo kextunload -b "$BUNDLE_ID"
sudo rm -rf /Library/Extensions/HoRNDIS.kext
sudo rm -rf /tmp/HoRNDIS
sudo kextcache -i /
echo "Done. Please reboot macOS."
恢复 SIP 的命令如下:
csrutil disable
(请输入你的密码)
csrutil enable
(请输入你的密码)