win11 安卓子系统(WSA)ROOT安装面具(Magisk)与谷歌框架(Google Apps)

作者: 扬帆大海 分类: 技术文章 发布时间: 2022-08-19 18:15

win11 安卓子系统(WSA)ROOT安装面具(Magisk)与谷歌框架(Google Apps)

win11这些系统真的很爽啊,WSL本地跑liunx,WSA本地跑安卓,虚拟的还挺完整的,美滋滋的有木有。
不过微软win11的这个安卓子系统(WSA)没有root,也没有谷歌框架,应用市场是那个奇葩的亚马逊市场,没有Google Play,用起来相当让人不爽。
直接给win11的安卓子系统(WSA)安装magisk,获取系统root权限非常麻烦。

经过一番查找发现LSPosed早就解决这个问题了。可以通过构建安卓子系统安装包,直接把magisk提前整合进WSA安装包就可以了。


win11安卓子系统系列文章之一:win11 安卓子系统(WSA)ROOT安装面具(Magisk)与谷歌框架(Google Apps)
win11安卓子系统系列文章之二:Windows Android 子系统 WSA 代理设置方法教程
win11安卓子系统系列文章之三:解决Win11安卓子系统烦人的提示“VirtWifi的连接受限”
win11安卓子系统系列文章之四:Windows 11 Android 子系统 WSA 安装APP软件APK文件方式教程


前提

  1. 首先也是最主要的,你的电脑的配置要能安装安卓子系统(WSA),不然这文章对你完全没用

– 确保Windows 11版本为22000.xxx或更高版本。
– 硬件必须支持并启用BIOS/UEFI虚拟化(打开任务管理器,切换到性能,CPU页面,如果你看到虚拟化:已启用说明就启用了)
– 微软商店版本为22110.1402.6.0或更高版本
– 安卓子系统默认会分配2G(最大6G)以上内存,建议16G内存以上的电脑使用。

  1. 然后你的电脑里需要先卸载WSA(如果你已经安装过安卓子系统的话),当然你可以备份你的数据,不过我还是建议彻底卸载重装算了,免得出奇怪的问题,如果你安装过并卸载了,那你可以忽略下边的第3步

  2. 在电脑的设置 → 应用 → 可选功能 → 更多 Windows 功能,找到并勾选开启「Hyper-V」和「虚拟机平台」,确定后系统会自动安装组件,安装完成后会提示重启系统,并且伴随一次系统更新。

  3. 你是否有一台运行Ubuntu20.04以上版本系统的机器(其他linux系统无法保证兼容,比如Debian,CentOS,FreeBSD等系统)

  • 没有

请直接跳到【本地安装】开始看,直接提供了适用于最普遍情况的安装包。

且你希望进行更多自定义设置或者希望自己编译安装包,请继续往下看(否则推荐直接下载预构建安装包),你可以用WSL2在win11里跑一个Ubuntu系统,这个是完全没问题的。关于怎么在win10或者win11里安装基于WSL2的Ubuntu网上教程一搜一大把,就不再赘述了(运行Ubuntu的服务器/电脑需要有至少10G的空闲可用磁盘空间,以及目前/tmp在WSL上是会被直接写入内存,构建脚本利用了这个特性来加速构建,所以请确保你电脑内存也足够大,以及确保机器能自由访问网络)

构建WSA安装包

  1. 打开MagiskOnWSALocal项目地址

  2. 右上角有个星标【Star☆】点一下(非必须)

  3. 把项目的文件放到你的Ubuntu系统里,你是用git啊,还是SVN啊,还是下载项目ZIP到电脑里,再用FTP上传到Ubuntu系统都行,方法很多的。(以下假设你放在了/usr/MagiskOnWSALocal/目录下)
    比如
    登录你的你的Ubuntu系统 SSH里输入

cd /usr/
git clone https://github.com/LSPosed/MagiskOnWSALocal.git
  1. SSH里执行
cd /usr/MagiskOnWSALocal
  1. SSH里输入
scripts/run.sh

运行构建脚本,耐心等待脚本拉取构建环境,然后脚本会询问你构建选项

构建选项

  1. 【Build arch】选择安卓子系统(WSA)的运行硬件架构
    咱们电脑一般都是X64的架构吧,你电脑要真是是ARM架构那就选arm64,不然就选默认的X64

  2. 【WSA release type】选择安卓子系统(WSA)的版本,
    这个一般选默认的retail,除非你需要预览版

  3. 【Magisk version】选择 面具(Magisk)的版本
    这个一般选默认的retail,除非你需要预览版的面具

  4. 【Install Gapps】选择 是否安装谷歌框架
    根据需求,需要就选Yes,不需要就选No

  5. 【Variants of gapps】选择你装多少谷歌APP
    (2022-08-27的更新:WSA内安卓更新至安卓12,Gapps内还是基于安卓11的,只有pico实际可用,所以目前这一个选项是会被跳过的)

一般默认的pico就行,如果你使用的某些APP,需要更加完整的谷歌环境,再尝试用nano

  • Super就是谷歌全家桶我全要了(1G多空间需求),
  • stock类似于 Google Pixel手机的状态
  • mini类似于谷歌比较常用APP都装进来,
  • micro是把常用谷歌APP装进来
  • nano是完整谷歌框架,
  • pico就是只有必须的谷歌框架

  • 具体各种选项的区别看:这里

  1. 【remove 亚马逊市场】选择是否安装没啥卵用的亚马逊应用市场
    选no就行,因为确实没啥用,里面应用少的可怜,咱上一步都装了GooglePlay了是不。

  2. 【Root Solution】选择是否root
    这里当然是选magisk获取root啊,你要是不需要root,只需要安装google框架的话可以选none

  3. 【Compress output】选择是否压缩output
    如果选NO,安装文件就是一个文件夹,你需要下载这个文件夹
    如果选Yes,安装文件打包成一个7z压缩包,方便下载。
    注意如果你的机器性能欠佳,有可能压缩所需要的时间,会长到让你怀疑人生。

  4. 等待构建完成

Everything is Ok
done
Cleanup Work Directory
done

等待SSH显示如上内容时说明安装包已经构建完毕了

本地安装

预构建安装包【下载地址1】,【下载地址2】(访问密码:acgmoe)
安装包情况:X64系统使用,正式版WSA(2210.400000.7.0),Magisk25.2,OpenGApps谷歌框架pico,ROOT,移除亚马逊应用市场

  1. 构建结束后,你会在/usr/MagiskOnWSALocal/目录下看到一个新出现的output文件夹,把他里面的文件全部下载/复制到你的win11系统里(SFTP,FTP,webdav,WSL的直接复制,随便你发挥)

请一定保留最后可用的压缩包和解压出的文件夹,以备出现奇怪问题时可以通过重新覆盖安装解决,WSA突然无法启动的情况还是比较常见的

  1. 在复制并解压(如果需要解压的话)到本机的output文件夹内(比如C:/output),找到run.bat文件,双击运行。(如果这是你第一次安装,可能会显示一个要求同意诊断信息的窗口,也有可能会显示两个相同的窗口,这都是正常的)

  2. 没了,等安装完毕就好了,这俩窗口弹出来,就说明你已经安装好了带root,带面具的安卓子系统了。

    截图里可以看到,初始的Magisk的页面里“Zygisk”是“否”,想要正式开用你还需要自己装LSPosed-zygisk
    这个和手机上装没几乎区别,唯一需要注意的是,你可能在Magisk模块里安装后,还需要手动从LSPosed-zygisk.zip的压缩包里找到LSPosed的APK文件(manager.apk),安装到安卓子系统里。(据说未来LSPosed-zygisk会直接内置进去,当你看到本文的时候可能就不需要自行安装LSPosed-zygisk了)

  3. 注意目前基于MagiskOnWSA项目的安装有两个google框架体系,一个是OpenGApps(也就是本文所提供的,也是目前网上使用范围最广的),一个是MindTheGapps,这两个谷歌框架体系之间是不能相互无损切换的,你只能彻底卸载你的WSA再重装。

后续更新WSA

目前代码还在频繁迭代中,建议注意项目的commits,如果发现重大修改,请及时更新。

不要在Microsoft Store更新Windows Subsystem for Android™ with Amazon Appstore
重新去MagiskOnWSALocal拉取最新代码,重新构建,得到新的output文件,再重新用run.bat安装一次就行了,脚本会自动为你保留之前的数据,为你更新Magisk,不用担心你的应用数据。
自己构建时最好工作目录下之前生成的download和output文件夹删了,让脚本重新拉去最新的组件。
你要是不放心,直接删掉整个/usr/MagiskOnWSALocal/文件夹,一切从头来也行。

我也会不定期更新【本地安装】部分的预制安装包。不过更新时间就不太保证了。

卸载WSA

  1. 打开你的开始菜单
  2. 点击适用于Android™ 的 windows子系统设置
  3. 切换到系统窗口,找到关闭适用于Android™ 的 windows子系统,点击【关闭】按钮
  4. 点击重置为默认值的【重置】按钮
  5. 关闭这个字窗口,重新打开开始菜单
  6. 找到适用于Android™ 的 windows子系统设置在上边右键,选择【卸载】
  7. 如果你要备份应用数据,可以备份%LOCALAPPDATA%\Packages\MicrosoftCorporationII.WindowsSubsystemForAndroid_8wekyb3d8bbwe\LocalCache\userdata.vhdx
    安装WSAHelper,重新恢复开始菜单里的APP图标。
35条评论
  • cc

    2022-11-30 05:51

    更新了,麻烦打包发一下,谢谢

  • rs

    2022-11-28 15:00

    WSL2 ubuntu使用默认配置编译成功。

  • Lee

    2022-11-21 21:38

    你好。非常感谢你的文章,按照你的教程,已成功安装带有magisk的wsa。非常感谢。但现在依旧有一个问题:无法登录Google账号,即便我安装了Google服务套件,用了稳定的代理,但在点了登录后,只有窗口标题从Google市场变成Google服务,而后变成账号设置,最后变会Google市场,没有任何变化,无法登录Google账号。请问你有什么可以解决的办法吗?

    1. 扬帆大海

      2022-11-21 22:00

      使用的是自己构建的安装包,还是我提供的预构建好的安装包?

    2. 扬帆大海

      2022-11-21 22:04

      目前是这样的,因为openGAPP官方的编译版谷歌套件暂时没兼容安卓12,
      所以如果直接套用教程里的方式自己构建wsa安装包,可能确实会无法登录谷歌账号。
      我发的两个预构建安装包里的OpenGApps是第三方编译的,兼容了安卓12,应该是没有问题的。

  • 114514yjsp

    2022-11-19 11:51

    可以弄一个有亚马逊市场的版本吗,谢谢

    1. 扬帆大海

      2022-11-20 17:57

      不打算做,这个需求十分小众,没有内置的必要性。
      因为可以通过自行安装其他应用市场解决(文章开头有介绍怎么往WSA内安装APP)

  • firstcc

    2022-11-09 11:43

    求助,我的目的是安装plantix这个app,原版WSA通过xapk安装后进应用提示缺少google play服务。按照这个教程来,一切都很顺利,但是在这个版本的google play里,该app提示“您的设备与此版本不兼容”。
    我想请教一下,在这个WSA里除了play市场有没有其他办法安装apk?或者怎么修改设备类型来满足play市场的要求?

    1. 扬帆大海

      2022-11-09 14:22

      模拟器毕竟是模拟的,所以被模拟说的设备是没有经过谷歌认证的。
      尝试一下不经过google play安装,直接把apk安装进来
      Windows 11 Android 子系统 WSA 安装APP软件APK文件方式教程

      1. firstcc

        2022-11-09 16:20

        嗯,找到了,开始菜单搜“windows subsystem…”没结果,原来要搜“适用于 Android…”(win11真难用),然后用adb成功安装。
        感谢!

  • xsx

    2022-11-04 14:23

    求助:反复多次还是有个文件下载失败,换了其他线路也一样,浏览器直接可以下载,复制到对应目录还是不行

    11/04 14:20:37 [ERROR] CUID#10 – Download aborted. URI=https://cdn.jsdelivr.net/gh/topjohnwu/magisk-files@25.2/app-release.apk
    Exception: [AbstractCommand.cc:351] errorCode=19 URI=https://raw.githubusercontent.com/topjohnwu/magisk-files/25.2/app-release.apk
    -> [NameResolver.cc:58] errorCode=19 Failed to resolve the hostname raw.githubusercontent.com, cause: No address associated with hostname

    ++=+=
    57d76c|OK | 0B/s|/home/mx/MagiskOnWSALocal/download/wsa-x64-retail.zip
    d8f161|ERR | 0B/s|/home/mx/MagiskOnWSALocal/download/magisk-stable.zip
    622011|OK | 0B/s|/home/mx/MagiskOnWSALocal/download/Microsoft.VCLibs.x64.14.00.Desktop.appx
    944d05|OK | 0B/s|/home/mx/MagiskOnWSALocal/download/Microsoft.UI.Xaml_x64.appx
    312904|OK | 0B/s|/home/mx/MagiskOnWSALocal/download/OpenGApps-x64-pico.zip

    Status Legend:
    (OK):download completed.(ERR):error occurred.

    aria2 will resume download if the transfer is restarted.
    If there are any errors, then see the log file. See ‘-l’ option in help/man page for details.
    We have encountered an error while downloading files.

    1. 扬帆大海

      2022-11-04 17:52

      没什么特殊需求可以直接用打包好的版本。这两天刚更新过。
      看报错应该是对这些文件的代理没有生效

      1. cc

        2022-11-08 18:18

        老大,能不能传到天翼或阿里云盘

  • Koyo

    2022-11-01 10:44

    大佬后续会更新自己的构建吗?

    1. 扬帆大海

      2022-11-01 11:37

      你怎么知道我今天要更新了。emmm

  • xqj

    2022-09-13 14:07

    download link: http://tlu.dl.delivery.mp.microsoft.com/filestreamingservice/files/605edfa0-3ba9-423b-abb2-aa8da0b0e8f2?P1=1663049332&P2=404&P3=2&P4=lgpze1XffymJzbtHSIKzCwtCAvQMEahvVUz9Xyza25VaHS1AhwjqMfJkRDlJi5SywoHHebAxSzq87L9H6G8mHQ%3d%3d to /usr/MagiskOnWSALocal/download/xaml-x64.appx
    什么东西,链接打开了,下载运行了,然后就不跑了?

    1. 扬帆大海

      2022-09-13 14:20

      挂个代理试试,下载卡住,应该是网络连接问题

      1. xqj

        2022-09-13 14:25

        挂了,但是我的代理很慢不稳定,白嫖的

        1. 扬帆大海

          2022-09-13 14:28

          这个需要下载几个G的内容,代理需要保持稳定的。
          要是没什么特殊需求,直接用本地安装章节里打包好的也可以。

  • isxh

    2022-09-12 23:57

    ext2fs_check_mount_point: Can’t check if filesystem is mounted due to missing mtab file while determining whether /tmp/wsa-build-mwiZ0RryiR_/wsa/x64/system_ext.img is mounted. 大佬报这个错该咋整

    1. 扬帆大海

      2022-09-13 10:10

      是使用root用户执行吗?磁盘剩余空间够吗?

      1. isxh

        2022-09-13 18:14

        是啊 wsl空间肯定够啊

        1. 扬帆大海

          2022-09-14 08:57

          试试在/etc目录下创建空的mtab文件

          touch /etc/mtab
          
      2. isxh

        2022-09-13 18:39

        信息是这样的 系统是wsl2 debian11用户是root用户

        Expand images
        e2fsck 1.43.4 (31-Jan-2017)
        ext2fs_check_if_mount: Can’t check if filesystem is mounted due to missing mtab file while determining whether /tmp/wsa-build-aWyvgkazLD_/wsa/x64/system_ext.img is mounted.
        Pass 1: Checking inodes, blocks, and sizes
        Pass 2: Checking directory structure
        Pass 3: Checking directory connectivity
        Pass 4: Checking reference counts
        Pass 5: Checking group summary information
        system_ext: 83/96 files (1.2% non-contiguous), 33727/33829 blocks
        resize2fs 1.43.4 (31-Jan-2017)
        ext2fs_check_mount_point: Can’t check if filesystem is mounted due to missing mtab file while determining whether /tmp/wsa-build-aWyvgkazLD_/wsa/x64/system_ext.img is mounted.
        Build: an error has occurred, exit
        Cleanup Download Directory

  • isxh

    2022-09-12 23:53

    ext2fs_check_mount_point: Can’t check if filesystem is mounted due to missing mtab file while determining whether /tmp/wsa-build-mwiZ0RryiR_/wsa/x64/system_ext.img is mounted. 出错了 该怎么整啊

  • xqj

    2022-09-04 18:26

    构建要用科学上网吗?会报错

    1. 扬帆大海

      2022-09-05 08:53

      最好需要,虽然访问的大都是微软自己的站点,但不好保证有没有墙出现。

  • xqj

    2022-08-25 17:57

    显示内容:
    ARCH=x64
    RELEASE_TYPE=retail
    MAGISK_VER=stable
    GAPPS_VARIANT=pico
    REMOVE_AMAZON=remove
    ROOT_SOL=magisk
    COMPRESS_OUTPUT=no
    Generate Download Links
    Generating WSA download link: arch=x64 release_type=Retail

    1. 扬帆大海

      2022-08-25 18:14

      你这是刚开始构建,继续等吧。

      1. xqj

        2022-08-25 18:19

        az,谢谢

  • xqj

    2022-08-25 17:54

    az。。。执行完“构建选项”后怎么搞啊。。。本人小白

    1. 扬帆大海

      2022-08-25 17:58

      等着它运行完毕就行了就好了。
      如果是不知道怎么复制服务器的output文件里的文件到本地,建议搜一下“从liunx服务器下载文件”有很多教程的

  • xqj

    2022-08-25 16:28

    scripts/run.sh出错,错误代码:Permission denied 运行环境:WSL

    1. xqj

      2022-08-25 16:39

      已找到解决方法(使用sudo chmod -R 777 /工作目录方法)

      1. 扬帆大海

        2022-08-25 16:46

        解决了就好。我在默认的755权限下测试通过。
        感谢提供解决方案。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据