这篇文章上次修改于 392 天前,可能其部分内容已经发生变化,如有疑问可询问作者。

WSA: Windows Subsystem for Android
和 WSL 差不多但折腾起来相对更麻烦点.

由于各种原因我在微软商店甚至都搜不到 WSA, 所以只能采用其他办法安装了, 官方渠道的包可以从 https://store.rg-adguard.net/ 下载, 选择 Productid 9p3395vx91nr slow 搜索后最下面的 msixbundle 文件就是了, 大概 1.3G. 然后管理员执行 PowerShell Add-AppPackage -Path "path\to\xxx"

用了两天后发现无法获取 Root 权限, 那我要它何用? 稍微搜了一下发现基本上都是去找一个有权限的镜像重新装上去解决的, 这一点倒是很 Android.

找到一个项目后发现并没有提供成品下载, 又不太想用其他途径的. 一是可能不太干净, 二是版本多少有些旧. 于是那就自己构建吧!

git clone https://github.com/LSPosed/MagiskOnWSALocal.git --depth 1
cd MagiskOnWSALocal
./scripts/run.sh

首先会给系统来一次更新 + 安装软件包, 之后会出现几个简单的选项, 选完之后就开始下载编译了.

这一点实在是想吐槽一下, 你给我安完之后不能顺便再把软件删了吗, 我看着很难受啊.

我 Linux 的 /tmp 容量不足直接卡住了但是想调这个分区得重启系统才行, 于是又换到了 WSL 下跑. 最终成品镜像是 4.3G, 确实不足....

改变分区大小的方法:

# sudo vim /etc/fstab
tmpfs        /tmp        tmpfs        defaults,noatime,mode=1777,size=24G        0       0

把 size 改大点然后重启系统就好了, 但也不能太大否则会出问题.

期间遇到过报错, 但第三次编译时作者已经修复了这个问题 (并引入的新问题, 通过 issue 中未合并的分支代码解决了

2023-08-11T03:58:11.png

然后在输出文件夹中把那个压缩包或者文件夹给复制到 Windows 下, 管理员权限执行 Run.bat 或者 install.ps1 就可以完成自动安装了.

注意!!!
安装完成后 Windows 下的这个文件夹不能删掉应该也不能挪动位置, 否则就会和我一样过两天又来重新编译一次....
其实 Windows 下文件夹都删不掉的, 但是这怎么难得倒我, 打开 WSL 熟练的执行 rm -rf 成功删的连渣都不剩后就悲剧了.
防呆不防傻

最后的界面和官方的看上去并无不同, 以后更新重新 pull 直接再次运行安装脚本就可以了, 支持覆盖升级(但和官方的不能兼容

2023-08-11T04:13:25.png

另外第二次在 Linux 上成功构建, 就是慢了点(毕竟连 WSL 都把 CPU 干到 60% 内存 16G 往上了

更新系统: WSA 先关机, 把原文件夹删了运行新版本的安装脚本就好了, 数据保留. 过程和新装一模一样, 也很简单.

最后, 不知道抽的什么风最近一段时间 WSA 只要开了就会在后台疯狂写硬盘, 速度大概是 50MB/s 占用率是 70%. 受不了用最新版本重新编译更新后也没解决.