feat(kernel): 搭建 app/kernel/ 构建管线 (AAR/XCFramework/桌面二进制)

新增 app/kernel/ 目录,包含四个文件:

- VERSION: 固定三个锚点 — sing-box v1.13.12、Go 1.24.3、
  gomobile v0.0.0-20240604150348-70c4c5da7d30;禁止脚本内硬编码

- build-android.sh: gomobile bind → dist/android/libbox.aar
  targets: arm64-v8a / armeabi-v7a / x86_64,-androidapi 21
  build tags: with_quic,with_utls,with_clash_api,with_gvisor(对齐 SFA)
  裁剪注释保留,幂等+--force 支持

- build-ios.sh: gomobile bind → dist/ios/Libbox.xcframework
  targets: ios + iossimulator(device+sim 双 slice)
  build tags 对齐 SFI;含 iOS NE 内存上限敏感说明(裁 grpc/gvisor 指引)

- fetch-desktop-bin.sh: 从 GitHub Release 下载桌面二进制
  支持 linux/darwin/windows × amd64/arm64
  从官方 checksums.txt 做 SHA256 校验;Windows 额外取 wintun.dll
  幂等:产物+校验文件均存在则跳过

dist/ 和 .build/ 加入 gitignore;所有脚本通过 shellcheck -S warning

任务: tsk_d8KmVEzJTCjl

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
wangjia
2026-06-13 14:30:56 +08:00
parent 787151245e
commit 618332906c
5 changed files with 544 additions and 0 deletions
+16
View File
@@ -0,0 +1,16 @@
# sing-box 内核构建版本锚点
# 所有构建脚本从此文件读版本,禁止在脚本内硬编码版本号
#
# 更新方法:
# SINGBOX_VERSION : 改为目标 GitHub tag(如 v1.14.0
# 同步更新 fetch-desktop-bin.sh 中的桌面 SHA256 说明
# GO_VERSION : 与官方 SFA/SFI CI 保持同步(go1.x.y
# GOMOBILE_VERSION : 对应 golang.org/x/mobile 的 pseudo-version 或 tag
# go install golang.org/x/mobile/cmd/gomobile@<GOMOBILE_VERSION>
# WINTUN_VERSION : Wintun 驱动版本(Windows 专用),保持与 sing-box 推荐版本同步
# 下载: https://www.wintun.net/builds/wintun-<WINTUN_VERSION>.zip
SINGBOX_VERSION=v1.13.12
GO_VERSION=1.24.3
GOMOBILE_VERSION=v0.0.0-20240604150348-70c4c5da7d30
WINTUN_VERSION=0.14.1