0%

在windows安卓子系统里配置代理

想要解包某游戏但不想在实机中安装、折腾数据,正好尝试一下windows11的wsa(windows subsystem android)。简单记录一下配置过程。

这次配置的核心是代理问题。主要参考了:

该文章提供了三种解决思路。我最开始尝试了方法二但是没能成功,最后转头使用方法一:win11 安卓子系统(WSA)ROOT安装面具(Magisk)与谷歌框架(Google Apps)

安装定制镜像

生成镜像

之前安装过WSL2,前置环境配置就省去了。定制的镜像来自于仓库MagiskOnWSALocal

在WSL2中运行

1
2
3
git clone git@github.com:LSPosed/MagiskOnWSALocal.git
cd MagishOnWSALocal
sudo ./scripts/run.sh

我在运行时出现了问题,如下

1
2
3
4
5
6
7
8
9
Mount images
fuse.erofs 1.6-g689372cd
disk: /tmp/wsa-build-gJDJLttB7J_/wsa/x64/system.img
offset: 0
mountpoint: /tmp/wsa-build-gJDJLttB7J_/erofs
dbglevel: 0
<E> erofs: cannot find valid erofs superblock
failed to read erofs super block
Build: an error has occurred, exit

参考Support v2306得到了解决:修改build.sh中三行代码(具体参考该Pull Request的修改详情)。

修改

我选择了compressed选项,运行后在项目目录 output 文件夹下可以看到对应的文件WSA_2306.40000.4.0_x64_Release-Nightly-with-magisk-26.1(26100)-stable-MindTheGapps-13.0-RemovedAmazon.7z。将该文件移动到windows并解压到你喜欢的目录中。在Windows中打开解压后文件的Run.bat文件,等待安装完成即可。

注意,这一步可能遇到WSL2的代理问题,这一步和windows中配置代理区别不大,但需要注意如果需要访问windows中的代理,需要代理软件允许局域网访问以及配置好windows的防火墙规则。

New-NetFirewallRule -DisplayName "WSL" -Direction Inbound -InterfaceAlias "vEthernet (WSL)" -Action Allow

WSA 配置

WSA还需要进行一定的配置以便使用。

WSA 本体配置

安装好后在开始菜单中会出现“适用于Android的Windows子系统”应用,点开。

wsa icon

关闭“阻止安装恶意应用”,开启“开发人员模式”。

apk 安装支持

安装APK 安装程序。这个能方便我们安装APK。如果你电脑中已经有ADB了,可以直接使用已经安装的ADB。也可以让其自动安装。自动安装后,可以看到自动安装ADB的路径。

编辑系统变量,将该目录增加到path中,保存。在命令行运行

1
adb connect 127.0.0.1:58526 && adb shell

如果进入了安卓的shell则说明正常。

Magisk配置

在 WSA 中打开 Magisk

在设置中开启选项

系统会重启。

为了方便操作这里我们安装via浏览器(也许是兼容性原因chrome会崩溃),apk可以在apkpure找到。得到文件后直接打开应该就可以安装。

在这里 https://github.com/LSPosed/LSPosed/releases 可以找到LSPosed最新发行版,我们复制 LSPosed-v1.8.6-6712-zygisk-release.zip 这一版本的下载链接 https://github.com/LSPosed/LSPosed/releases/download/v1.8.6/LSPosed-v1.8.6-6712-zygisk-release.zip, 在安卓的via中下载。如果有网络连接问题可以使用ghproxy进行代理 https://ghproxy.com/https://github.com/LSPosed/LSPosed/releases/download/v1.8.6/LSPosed-v1.8.6-6712-zygisk-release.zip

在Magisk中的模块tab中选择刚刚安装的LSPosed,安装模块。

在windows中,也下载一份刚刚的压缩包并解压,解压内容中有名为 manager.apk 的安装包,也安装到 WSA 中。

正菜

这时整个系统已经和正常的安卓系统一样,可以运行代理软件了。我们现在可以安装运行自己需要的软件了。

ba

题外话之一

在ba的apk中可以看到是不包含x86的包的,因此 WSA 在实现上应该是对 ARM 的机器码做了转译。

题外话之二

通过 du -h 命令可以找到,ba国际版的主要数据在 /sdcard/Android/data/com.nexon.bluearchive/files/PUB 下。在windows powershell中,运行adb pull /sdcard/Android/data/com.nexon.bluearchive/files/PUB P:\ba-assets即可拉下数据。