v0.6.0
TaiXu v0.6.0 — 构建工坊、SSH 直连、QEMU 兼容
22 个提交,从 v0.5.0 (versionCode 7) → v0.6.0 (versionCode 8)
✨ 新功能
-
🚀 PRoot 运行时升级
5.1.107.89 → 5.1.107.92- 修复 link2symlink statx 硬链接计数与描述符命名问题
- 修复 ptrace sysenter skip 导致的挂起
- 修复 l2s 目录按描述符命名问题
-
🔐 内置 SSH 服务
- 新增 SSH 设置页,支持 VPN 感知网络探测
- SshServiceManager 生命周期与连接管理
- 局域网直连沙箱,无需额外 App
-
🖥️ QEMU x86_64 兼容插件(可选安装)
- qemu-user-static + 最小 x86_64 Ubuntu 24.04 rootfs
- 用于运行只有 x86_64 版本的构建工具,Android 产物仍为 arm64-v8a
- 运行时自动检测 QEMU 布局并集成到 PRoot 命令
-
🔧 工坊设置页
- Gradle / CMake / Ninja / AAPT2 / Gradle User Home / Pub Cache 路径全部可配置
- 移除
/opt路径硬编码,支持自定义持久化工具链
-
🔏 工坊发布签名
- 内置 keystore 管理(生成、验证)
- 签名配置界面 + Gradle signingConfig 自动注入
- keytool 使用沙箱内路径,修复宿主路径问题
-
♻️ 零流量快速重置沙箱
- 每个发行版独立控制,无需重新下载 rootfs
- 倒计时确认弹窗防误触
-
🧠 Harness 可恢复上下文历史
- Agent 可回溯和利用历史对话上下文
-
🔌 离线插件构建兼容
- 支持离线插件安全导入与同版本原子替换
- 无 unzip 环境自解压,兼容旧版插件包
-
🎨 真实主题系统 + 插件使用指南
-
🌐 GitHub Pages 官网,配色与 App 主题对齐
🐛 Bug 修复
-
🔥 修复工具链 exec 死循环(高优先级)
- ToolCommandLinker 写 shim 时通过
>跟随符号链接链,把真正的java启动器覆盖成 exec wrapper,在 PRoot ptrace 下无限 exec 烧 CPU - 六层修复:ELF magic 断言 → 写前
rm -f→ 安装时 flock 独占 → 链接链复检 → 超时回滚 → Flutter unzip 自愈
- ToolCommandLinker 写 shim 时通过
-
📦 修复 ABI x86 泄漏
- AAR 依赖(如
androidx.graphics.path)自带 x86/x86_64 so,通过 managed init script 强制abiFilters剥离,APK 只保留 arm64-v8a
- AAR 依赖(如
-
⏳ 修复终端构建状态永久转圈
runProject的 channelFlow 中心跳协程永不结束,构建结束后对话框一直 loading、终端消息每 4 秒被覆盖finally中取消心跳 job,coordinator 丢弃孤儿心跳
-
🐦 修复 Flutter SDK 检测失败
- Flutter
locateAndroidSdk要求 SDK 目录含platform-tools/adb,离线套件从未创建 - 安装器和
build_flutter.sh现自动补 adb 符号链接 + SDK license 文件(已有沙箱自愈)
- Flutter
-
📋 修复 APK 验证选错文件
- outputs 目录有残留 fat APK 时随机选取,现按 mtime 选最新并记录路径
-
🔧 修复 Flutter NDK 版本不匹配(CXX1100)
- Flutter 默认
ndkVersion 27.x与实际 NDK 29.x 冲突 build_flutter.sh构建前临时注入实际版本,trap EXIT 构建后自动恢复,不修改 NDK 本身
- Flutter 默认
-
🔧 修复 Flutter CMake 版本不匹配(CXX1300)
- Flutter 硬编码 CMake 3.22.1 与实际 3.31.7 冲突
- 同样在
android {}块临时对齐externalNativeBuild.cmake.version
-
🔄 修复同版本插件重新导入卡死
- 从
AlreadyImported死路改为原子替换
- 从
-
🚫 工具链损坏状态不再误触发 QEMU 自动重试
⚡ 改进
- 🏗️ 构建脚本环境变量加载重构,工坊自定义路径优先透传
- 🏗️ Gradle / Flutter shell wrapper 动态适配
$GRADLE_HOME/$FLUTTER_HOME - 🏗️ 项目分析器(Analyze / Doctor)支持识别显式声明的 NDK / CMake 版本
- 🏗️
keep_project_arm64_only自动清理lib/下非 ARM64 生成目录 - 🏗️ Flutter / Android 模板支持动态 SDK 路径探测
- 🏗️ Doctor 预检增加 CMake、Ninja 检查
- 📱 发行版卡片统一三按钮布局 + 倒计时删除确认
- 📱 模型配置卡片和引导页输入框紧凑化
- 🤖 新增 TaiXuDev CI 工作流和自定义迭代模块
完整对比:[v0.5.0...v0.6.0](https://github.com/wkbin/taixu/compare/v0.5.0...v0.6.0)