WSA 折腾日志
记录WSA的安装、联网、设置代理以及安装应用的折腾过程
准备工作
记得去BIOS开启CPU虚拟化
Windows设置调整
打开设置
-应用
-可选功能
-更多Windows功能
,勾选虚拟机平台
,等待安装并重启
然后在设置
-隐私和安全性
-开发者选项
-开发人员模式
中打开开关
安装adb
- 下载完成后把安装包扔到固定的位置再解压,因为下面需要设置环境变量
Win
+S
搜索并打开编辑系统环境变量
- 在系统变量中新建变量
adb
,变量值为刚才解压的文件夹路径,如D:\Program Files\platform-tools
- 双击打开系统变量中名为
Path
的变量,然后新建变量%adb%
- 确定三连
- 在终端中输入
adb version
查看是否设置成功
安装WSA Toolbox
这个工具在国区微软应用商店被下架了,只能通过上面链接安装了。后续会需要它来打开WSA的Android系统设置。
安装WSA
这里我使用的是集成了root、Magisk与Google Play的整合包,省下一些麻烦。
- 首先fork一份代码到自己的仓库,然后在fork后的仓库中点击左上角的
Actions
。 - 在
Workflow
中点击Build WSA
- 点击右侧的
Run workflow
,在下拉菜单中选择Build arch
为x64
,选择Variants of gapps
为pico
- 最后点击绿色的
Run workflow
,等待build操作完成,一般需要等待五六分钟。 - 下载build完成的包,注意不要使用多线程下载器
- 解压
- 右键单击
Install.ps1
,选择Run with PowerShell
,等待安装完成,安装完成后会打开Play商店 - 打开
基于Android的Windows子系统设置
,打开开发人员模式
,记录下出现的ip,一般都是127.0.0.1:58526
联网的坑
在没有设置代理的情况下Play商店是连不上的,但是可以通过亚马逊应用商店来判断是否有网络连接,正常的话请跳过本章,本章专为像我一样的大冤种准备。
我在安装完WSA后怎么也连不上网,一直提示VritWifi连接受限。试了很多种方法,下面是Google大总结,不妨挨个尝试一下。
更改防火墙规则
以管理员身份运行终端,执行命令添加防火墙规则
1 | New-NetFirewallRule -DisplayName "WSL" -Direction Inbound -InterfaceAlias "vEthernet (WSL)" -Action Allow |
然而这个对我无效。。。
更换DNS
更改WSA默认的DNS设置,然而对我依然无效
- 打开前面安装的
WSA Toolbox
,点击中间的Android设置
- 打开
网络和互联网
-互联网
-WLAN
-VritWifi
- 点击右上角的设置
- 把
DNS 1
更换为8.8.4.4
或者114.114.115.115
等常用DNS
adb修改captive_portal
事实证明这个玩意儿纯属掩耳盗铃,打开终端,执行
1 | adb connect 127.0.0.1:58526 |
这个操作的唯一作用是在能联网但是仍然提示网络连接受限的情况下去掉烦人的提示。。。
Captive portal(强制门户)是在授予新连接至Wi-Fi的用户更广的网络(互联网)访问权限之前在其网页浏览器呈现中的网页,其常用于呈现可能需要认证或接受最终用户许可协议/可接受使用策略的着陆页或登录页。强制门户应用于方方面面的移动宽带服务中(如有线连接、计费Wi-Fi及家庭热点),同时也可提供对企业或家庭有线网络(公寓、酒店和商业中心的网络)的访问权限。
因为WSA默认用谷歌的Captive Portal来检测是否联网,但是国内肯定连不上,所以就会提示网络受限,只要把检测服务器换成国内的就行了,这里白嫖小米的嘿嘿,还可以嫖苹果、华为和vivo的,把链接换了就行
- 苹果 http://www.apple.com/library/test/success.html
- 华为 http://connectivitycheck.platform.hicloud.com/generate_204
- vivo http://wifi.vivo.com.cn/generate_204
USB网络共享
这个方法算是曲线救国,实在没办法的话可以用,但是重启之后可能需要重新设置
- 打开前面安装的
WSA Toolbox
,点击中间的Android设置
- 打开
系统
-开发者选型
- 打开
使用开发者选型
开关 - 下滑,找到
网络
-默认USB设置
- 设置为
USB网络共享
开启Hyper-V功能
搜到了知乎希尔顿的文章,发现他额外开启了Hyper-V功能,试了一下,没想到真能行了🤣。毕竟按照官方文档的说法是不需要开启Hyper-V的
- 打开
设置
-应用
-可选功能
-更多Windows功能
- 展开
Hyper-V
- 勾选
Hyper-V平台
- 等待安装完成
然后就神奇的连上网了,原理我到现在也没搞懂🤯
设置代理
正常操作
我用的客户端是V2rayN。如果用Clash的话直接谷歌就成,教程很多。
- 打开V2rayN,在
设置
-参数设置
-基础设置
中勾选允许来自局域网的连接
- 记下最下面显示的局域网http端口号,默认是
10811
- 在终端中运行下面的命令,注意把
127.0.0.1:58526
替换成在基于Android的Windows子系统设置
记下的ip,一般都是这个1
adb connect 127.0.0.1:58526
- 在终端输入
1
ipconfig
- 找到目前使用的网卡的ip地址,例如我的就是192.168.50.70
- 在终端运行下面的命令,注意把ip换成自己的网卡的
1
adb shell settings put global http_proxy 192.168.50.70:10811
如果想要取消代理的话用下面的命令
1 | adb shell settings put global http_proxy :0 |
曲线救国
如果上面的方法不行的话,可以在WSA中单独安装设置代理软件,如V2rayNG
旁加载安装apk
如果没有代理可用的话,自然也就不能通过Play商店安装应用了,不过好在可以用旁加载的方式安装应用。
- 在终端中运行下面的命令,注意把
127.0.0.1:58526
替换成在基于Android的Windows子系统设置
记下的ip,一般都是这个1
adb connect 127.0.0.1:58526
- cd到apk所在的文件夹
- 执行
1
adb install apk名
国内的应用商店我用的是酷安