尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
WSABuilds 自动化构建:用 GitHub Actions 跑通 2 种架构 × 8 种 Root 方案的多架构 CI
WSABuilds 自动化构建用 GitHub Actions 跑通 2 种架构 × 8 种 Root 方案的多架构 CI【免费下载链接】WSABuildsRun Windows Subsystem For Android on your Windows 10 and Windows 11 PC using prebuilt binaries with Google Play Store (MindTheGapps) and/or Magisk or KernelSU (root solutions) built in.项目地址: https://gitcode.com/GitHub_Trending/ws/WSABuilds在 WSABuilds 这个项目里WSA 构建、持续集成和 GitHub Actions 是绑在一起的你在 Actions 页面点一次运行几十个不同配置的安装包就会在云端排队产出。为什么一个打包脚本需要一整套流水线想象你要一个KernelSU Pixel 7 型号 Win10 兼容补丁的 WSA 安装包手动流程是先下 WSA 的 WIM 包再下 KernelSU 和 GApps解包系统镜像、塞入 Root 方案、改设备参数、重新打包压缩——每一步都是体力活而且换个配置就要再来一遍。WSABuilds 把这条链整体搬上了 GitHub Actions它本身是一个用预构建二进制在 Windows 10/11 上运行 WSA 的开源项目内置 MindTheGapps 与 Magisk、KernelSU 等 Root 方案而所有定制组合都不再靠人手全部由自动化打包流水线产出。触发之后三条工作流各管一摊这个仓库的.github/workflows/update.yml是唯一的对外入口扮演导演WSA 出新版本时它先检查上游组件有没有更新再创建发版标签然后按配置组合逐次点名构建。build.yml是剪辑师自己不接收人工触发只接受参数、吐出货。buildtester.yml则是审片人一个可手动触发的交互界面让你自己勾选架构、Root 方案、GApps、设备型号跑一次试验性的构建用来验证新想法而不污染正式发布。三者之间的连接靠 reusable workflow 实现核心就一行uses: ./.github/workflows/build.yml # 像调函数一样调用整个构建流程 with: arch: x64 # 这一行决定目标 CPU 架构 root: magisk # 这一行决定内置哪种 Root 方案设计意图很直白把构建当作函数调用。构建逻辑只维护一份导演新增一个配置组合时只需加几行 job 声明而不是复制一整套 YAML。从参数到产物一次构建的四个阶段每个被调起的 build job 内部是同一条时间线。准备阶段在 Ubuntu 运行器上建 Python 虚拟环境装好 e2fsprogs、qemu-utils 这类工具——它们是后面修改 ext4 系统镜像的前提。下载阶段拉取 WSA 的 WIM 包、对应版本的 Magisk 或 KernelSU、GApps 包。构建阶段核心是MagiskOnWSA/scripts/build.sh它把镜像解包、装入 Root 方案、替换设备型号随后再执行 Houdini 安装脚本写入 ARM 二进制翻译组件。后处理阶段打 Win10 兼容补丁、用 7z 高压缩比打包、生成 SHA256 校验和最后把产物挂上 Release。这条时间线真正的难点是组合爆炸两种架构、若干 Root 选项、GApps 与否、Amazon Appstore 去留、设备型号叉乘下来是几十个变体。项目的解法不复杂——每个组合一个独立 job 并行跑job 之间用 needs 声明依赖全部等导演完成检查与打 tag 后才启动任何一路失败也不拖累其他路。./scripts/build.sh --arch x64 --release-type WIF \ --magisk-ver stable --install-gapps \ --root-sol magisk --remove-amazon \ --compress-format none # 全部配置都收敛为脚本参数让流水线自己长更新检测与发版发版链路的设计目标是人只需要等通知。update.yml 的检查 job 会跑上游版本检查脚本轮询 Magisk 稳定版与 Canary、KernelSU、MindTheGapps 的最新版本download links job 则自动把 README 里的下载徽章链接改写为新版本的 Release 地址省去了人工维护表格的环节。随后 check-and-create-tag job 先逐个查询标签是否已存在以防重名把版本号和日期填进 Release 说明模板再对 Windows 11 x64、Windows 11 arm64、Windows 10 x64 三个标签各调一次发版动作uses: softprops/action-gh-releasev3 with: tag_name: ${{ env.WIN11X64_TAG }} # 形如 Windows_11_1.27.x 的标签 body_path: Windows11x64.md # 版本说明由模板自动填充到这里WSABuilds 自动化打包的最后一环闭合了从版本变化到三个平台的新 Release 上架全程无需人工操作。实际跑起来才知道的坑磁盘空间是最先撞上的墙。每个构建要同时摆着几 GB 的 WIM 包和展开后的多分区 vhdx 系统镜像而运行器只有 14GB 磁盘。build.sh 的做法是用 mktemp 建独立临时工作目录并在脚本退出时用 trap 钩子自动清场让磁盘峰值只出现在单路构建的生命周期内。上游下载超时是第二块常见的石头。WSA 的包体积大官方 CDN 偶尔抽风整条 job 就白等了十几分钟。好在下载文件都落在固定目录并按清单记录状态失败后重跑时已完成的文件不会重新拉取重试的成本基本等于零。arm64 和 x64 的差异则藏得很深。x64 的 Win10 兼容补丁在 Linux 上就能完成——用 xmlstarlet 改 AppxManifest、替换几个 DLL 即可但 PRI 资源合并和 vhdx 压缩依赖 Windows 侧的 arm64 版 makepri.exe所以 buildtester 流程里 build job 先用 cache 把产物递给一个 windows-latest 运行器收尾跨系统交接靠的就是这一来一回。另有一条硬规则Win10 补丁根本不支持 arm64输入校验会在流水线入口直接拦下这个非法组合而不是让它跑到一半才报错。下次看到 WSA 新版本号发布时你要做的只剩打开 Actions 页面、填个版本号、点一下运行——剩下的几十个包交给流水线就好。【免费下载链接】WSABuildsRun Windows Subsystem For Android on your Windows 10 and Windows 11 PC using prebuilt binaries with Google Play Store (MindTheGapps) and/or Magisk or KernelSU (root solutions) built in.项目地址: https://gitcode.com/GitHub_Trending/ws/WSABuilds创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

零基础AI漫剧制作全流程:豆包+剪映,无需插件轻松成片

零基础AI漫剧制作全流程:豆包+剪映,无需插件轻松成片

经常看到有人问:做 AI 漫剧是不是一定要会 Stable Diffusion?是不是要下载一堆插件?是不是没有好显卡就做不了? 其实不用。以豆包为核心的 AI 漫剧制作流程,是一个零基础也能上手的方案。整条流程里不需要额外安装浏览…

📅 2026/9/9 16:37:30
三电平+LCL有源电力滤波器设计:从拓扑选型到现场调试的完整指南

三电平+LCL有源电力滤波器设计:从拓扑选型到现场调试的完整指南

做APF(有源电力滤波器)这几年,我最大的感受是:很多人把它当成一个普通的并网逆变器来设计,结果样机在实验室里补偿效果勉强能看,一到客户现场就露馅——要么高频噪声大得离谱,要么开机就过流&am…

📅 2026/9/9 16:37:30
C# dynamic性能实测:用动态绑定取代反射,导出性能提升数倍

C# dynamic性能实测:用动态绑定取代反射,导出性能提升数倍

上个月我接手了一个老项目的维护任务,几百个Excel模板文件需要按字段配置动态导出,底层实现走的是反射:读取实体属性、按名称取值、拼接报表。数据量一上来,单次导出几十万行,CPU直接顶满,一次导出要跑大几…

📅 2026/9/9 16:37:30
MORE NEWS

更多资讯

📰

tiny11builder 实测:Windows 11 精简后游戏帧率提升 12.6%,安装镜像直接减半

tiny11builder 实测:Windows 11 精简后游戏帧率提升 12.6%,安装镜像直接减半 【免费下载链接】tiny11builder Scripts to build a trimmed-down Windows 11 image. 项目地址: https://gitcode.com/GitHub_Trending/ti/tiny11builder 先说结论&…

📰

Python列表高频方法全解析:从append到列表推导式实战指南

从入门到实战,聊聊Python列表(List)那些高频方法Python的列表(List)是我日常写脚本、做数据处理时用得最多的内置数据结构,没有之一。不管你是刚开始学Python,还是已经写了一段时间但总感觉对列…

📰

分布式存储架构深度解析:从数据切分到容灾机制,构建PB级可靠存储底座

1. 内容整体设计与思路拆解1.1 “海纳数据”背后的存储困境拿到“霄云碧海分布式存储”这个名字的时候,我第一反应是这家团队对存储的理解确实有点东西。“霄云”对应的是云上资源,强调的是存储系统在云环境中的适应能力;“碧海”对应的是数据…

📰

Flutter动画体系全解:从核心概念到性能优化实战

做 Flutter 开发有一段时间的朋友,多半会碰到一个坎儿:动画。数据渲染、状态管理都趟过来了,一到动画这块儿总觉得差点意思。要么卡顿,要么不跟手,要么代码越写越乱。其实 Flutter 的动画体系在跨端框架里算是最完整的…

📰

Docker+Nginx部署Python Web应用:从开发环境到服务器的完整指南

把Python Web应用从开发环境搬到服务器,是很多初学者迈不过去的一道坎。开发的时候用Flask自带服务器跑得飞起,真到了上线这天,什么Python版本不一致、依赖装不上、端口被占用、进程一关服务就挂……各种问题全冒出来了。这篇文章要解决的问题…

📰

Git Stash完全指南:从入门到冲突解决实战

"git stash"这个词,用过的都说香,但真正玩明白的人真不多。工作区改到一半,突然要切分支、改bug、拉代码,手头这堆改动的去留就成了最闹心的事。本篇文章就从底层逻辑到实操细节,把git stash的用法彻底掰开揉…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬