一、前言
libXray是指将 Xray-core 编译为一个静态或动态库,通常是为了集成到 Android、iOS 或其他项目中(例如通过 JNI/FFI),那么这是构建 VPN 客户端或代理应用时常见的用途。
用途示例:
- Android VPN(与
VpnService
结合使用) - iOS/macOS(通过
NEPacketTunnelProvider
调用) - Qt 或 Flutter 集成 Xray 配置管理器
二、移动版本环境搭建
go环境安装
从官网下载官方安装包
✅ 步骤 1:访问:https://go.dev/dl/
✅ 步骤 2:下载对应 macOS 的 .
tar.gz压缩包(比如 go1.22.3.darwin-amd64.
tar.gz)
✅ 步骤 3:解压到你程序的目录,我这里是/Volumes/mindata/Applications/aarch64
✅ 步骤 4添加环境变量(编辑 ~/.zshrc
或 ~/.bash_profile
):
nano -w ~/.bash_profile
export PATH=$PATH:/Volumes/mindata/Applications/aarch64/go/bin
export GOPATH=$HOME/go
安装gomobile
source ~/.bash_profile
GOBIN=/Volumes/mindata/Applications/aarch64/go/bin go install golang.org/x/mobile/cmd/gomobile@latest
GOBIN=/Volumes/mindata/Applications/aarch64/go/bin go install golang.org/x/mobile/cmd/gobind@latest
gomobile init
下载安卓NDK
✅ 步骤 1:安装 Android SDK
推荐使用 Android Studio 安装 Android SDK,步骤如下:
- 下载 Android Studio:https://developer.android.com/studio
- 安装并首次启动 Android Studio
- 在安装向导或设置中勾选
Android SDK
- 记住 Android SDK 的安装路径(一般默认在:
~/Library/Android/sdk
)
✅ 步骤 2:设置环境变量(如果路径不是默认)
如果你安装 SDK 到了非默认路径,比如 /Users/zeno/Android/Sdk
,那你需要设置环境变量:
永久设置(写入 shell 配置):
nano -w ~/.bash_profile
export ANDROID_HOME=/Volumes/mindata/Applications/Android/sdk
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
再次初始化 gomobile
source ~/.bash_profile
gomobile init
三、生成移动版本库
python3 build/main.py apple go
LibXray.xcframework
python3 build/main.py android
libXray.aar
libXray-sources.jar