Waydroid on KDE 初体验

本文最后更新于:2022年4月14日 凌晨

西木野羰基的博客中看到了其在Fedora中使用waydroid跑明日方舟的截图,心里有有些痒痒了,决定在Archlinux上尝试使用waydroid。

Waydroid是什么

Waydroid是一个基于lxc容器技术,用以启动完整安卓系统的方案。

默认使用了LineageOS-17.1,对应 Aosp10,相比起 anbox 显然是更加新了。

是长成这样

内核支持

waydroid需要内核提供Ashmembinder支持,西木野羰基是使用的自己编译的内核。而我在使用Archlinux,因此直接使用linux-zen即可。

注: AUR上的linux-xanmod虽然也有这些模块支持,但是在编译时设置了psi=0以提升性能,而waydroid恰巧需要psi=1的支持,故不可使用。

安装

Archlinux已经有人将其打包上传到了AUR,我们直接安装即可。我使用的 AUR Helper 是 yay,所以直接

1
yay -S waydroid --noconfirm

再装个python-pyclip解决剪切板同步的问题

1
yay -S python-pyclip

下载Waydroid镜像

1
sudo waydroid init

这一步将会自动(从SourceForge)下载纯净的LineageOS镜像压缩包并解压,处于中国大陆网络环境的用户记得( )

如果你需要Gapps,可以指定下载Gapps版本,但是这将需要你获取Android ID并向谷歌提交 Custom Rom 的 Gapps 申请。见这里

1
sudo waydroid init -s GAPPS

启用服务

这个没什么好说的,使用systemctl启动服务。

1
sudo systemctl start waydroid-container.service

开启waydroid

1
waydroid session start

一些简单的使用技巧

如果你想直接展示整个系统界面,可以使用

1
waydroid show-full-ui

我们也可以用waydroid app launch ${package_name}的方式来启动单个应用(包名可以使用waydroid app list来获取

当然,可以直接在Linux环境里 安装 某个apk

1
waydroid app install path/to/apkfile.apk

F11有助于解决应用分辨率问题,左Alt有助于解决键盘无法输入的问题。

Github上有个脚本,可以帮助 安装OpenGapps/Magisk/arm转译库/获取Android ID。

牢骚时间

  • 对AMD和英伟达的显卡支持都不太行
  • 不能直接输入中文,还是得借助安卓系统内的输入法。
  • 不自带arm转译库,通过脚本安装的转译库似乎兼容性挺差(至少我是成功打开什么arm软件
  • 系统运行的流畅度还可以
  • 相关的资料似乎有点少,官方的文档也没有写得太详细
  • Waydroid会自动在$HOME/.local/share/applications/为wayland内的安装应用添加Desktop文件(这让我有些反感

一些截图

原生安卓从未变过的应用抽屉

这充电速度太刺激啦!