Rust 2648fcc44f fix(ci): 修复多平台构建流程 - 每个平台单独编译 libcore
**问题:**
- Windows/macOS/Linux 构建不依赖 libcore 编译
- 这些平台没有下载对应的 libcore 库文件
- 导致桌面平台构建时缺少必需的 native 库

**修复:**
- 为每个平台创建独立的 libcore 编译任务:
  * build-libcore-android → libcore.aar
  * build-libcore-windows → libcore.dll + HiddifyCli.exe
  * build-libcore-macos → libcore.dylib + HiddifyCli
  * build-libcore-linux → libcore.so + HiddifyCli

**正确的流程:**
1. 并行编译各平台的 libcore
2. 上传 libcore artifacts
3. 各平台构建任务下载对应的 libcore
4. 安装 Flutter 依赖
5. 构建 Flutter 应用

**影响:**
- 所有平台现在都会正确编译和使用 libcore
- libcore 版本锁定在 v3.1.7 (f993a57)
- 桌面平台现在可以正常构建和运行

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-27 23:30:52 +08:00
..
2025-10-27 22:53:30 +08:00
2025-10-27 22:59:28 +08:00

GitHub Actions 构建说明

📋 工作流概览

build-android-apk.yml - Android APK 自动构建

触发条件:

  • 推送到 maindevelop 分支
  • v* 标签时自动创建 Release
  • 手动触发Actions 页面点击 "Run workflow"

构建产物:

  • libcore.aar - sing-box 核心库
  • BearVPN-arm64-v8a-*.apk - 64位 ARM 版本(推荐)
  • BearVPN-armeabi-v7a-*.apk - 32位 ARM 版本
  • BearVPN-x86_64-*.apk - 模拟器版本

🚀 使用方法

方法一:推送代码自动构建

git add .
git commit -m "feat: 新功能"
git push origin main

方法二:手动触发

  1. 打开仓库 Actions 页面
  2. 点击 Build Android APK
  3. 点击 Run workflow

方法三:创建 Release

git tag v1.0.0
git push origin v1.0.0

📦 下载构建产物

  • Actions 页面: 点击运行记录 → Artifacts 区域下载
  • Releases 页面: 选择版本 → Assets 下载

🔧 配置 Release 签名(可选)

  1. 生成密钥:
keytool -genkey -v -keystore release.keystore -alias bearvpn -keyalg RSA -keysize 2048 -validity 10000
  1. 转换为 Base64
base64 release.keystore > keystore.base64.txt
  1. 在 GitHub 仓库 Settings → Secrets 添加:
    • KEYSTORE_BASE64
    • KEYSTORE_PASSWORD
    • KEY_ALIAS
    • KEY_PASSWORD

⏱️ 构建时间

  • libcore.aar: 10-15 分钟
  • Flutter APK: 15-20 分钟
  • 总计: 约 30 分钟

🐛 常见问题

Q: 构建失败 "libcore.aar not found"
A: 检查 libcore 子模块是否正确初始化

Q: Release 未创建
A: 标签必须以 v 开头,如 v1.0.0


生成时间: 2025-10-27