Waydroid的碎碎念
安卓系统,已经融入了我们的生活,那怎么在电脑上运行安卓系统呢,小编(好了请停止你的营销号模式
当然这是基于我的arch linux系统进行操作2333
至于为什么不配置Nvidia显卡相关设置,问就是Fa♂️Q Nvidia(逃
平时基本都是把n卡屏蔽了,省心hhh
将显示管理器从X11迁移到Wayland上
从X11迁到wayland上,当然不会山删掉x11,这样在sddm登陆的地方可以选择用wayland来开桌面
1 |
|
后面就是引用Ivon大佬的一些操作了
迁移内核
迁移到linux-zen内核
1 |
|
安装binder_linux并且加载到内核
1 |
|
安装Waydroid
装依赖
如果你执意不配置venv的话,先执行这段指令再继续,不然pip会报错:sudo mv /usr/lib/python3.x/EXTERNALLY-MANAGED /usr/lib/python3.x/EXTERNALLY-MANAGED.bk
1 |
|
建议先开一个新的venv然后在其中操作完成后,再将该venv的site-packages整个丢到/usr/lib/python3.xx/site-packages/
下,然后再恢复source你自己的venv。
如果后续系统更新的时候出现python-gobject
和python-cairo
说file already exist
问题,强制覆盖安装一下以下的包然后就可以正常系统更新了:
1 |
|
装Waydroid
1 |
|
记得去grub
里添加内核启动参数psi=1
要不然waydroid启动会报错Command failed: % /usr/lib/waydroid/data/scripts/waydroid-net.sh start
第一次启动的话,得先init一下容器
不过我是不打算弄带gms的,苏菲性能实在太差(悲
1 |
|
当然如果想要重新初始化waydroid就比如我之前闲得无聊弄了个安卓13的然后发现没,就这么做libhoudini
就想保数据回退
1 |
|
开一次机试一下
1 |
|
配置防火墙
不放通防火墙会导致Waydroid连不上网,甚至你无法使用adb connect
进行调试。如果你跟我一样使用ufw
防火墙,可以参考ArchWiki这样进行操作:
1 |
|
安装libhoudini
1 |
|
然后按照命令行的提示来操作就行
当执行完成后,就可以快乐的玩耍了
一些基本常用的操作
开机
1 |
|
关机
1 |
|
以root身份进adb
1 |
|
连接adb网络调试
这东西会在你的电脑里再nat出一个子网,然后waydroid的ip被静态分配到192.168.240.112
上
1 |
|
性能调优
对应用进行dex2oat优化
苏菲太需要dex2oat了要不然卡的很
如果你在带有root权限的安卓的shell中…
1 |
|
如果你不在安卓的shell中…
1 |
|
可选编译类型interpret-only
: 不编译,仅靠解释运行应用,效率很低,占用空间最小;space
: 仅编译一小部分函数,其余不编译,占用空间较小;balanced
: 在占用空间与运行效率上做一平衡;speed-profile
: 将配置文件中标明的函数编译一遍,这些函数可能是热点函数,为部分编译,频繁使用的功能运行效率会变高,不常使用的效率便会很低;speed
: 将程序中所有函数都编译一遍,效率和占用空间均较高;everything
: 译所有代码,效率最高,能耗较低,占用空间最高。
细节见这篇文章
激活冰箱
1 |
|
开启全局小窗模式
这样你可以跟win11的WSA一样体验安卓程序
1 |
|
一些sao操作
Waydroid的内部存储是被映射到你的home
目录下的,具体在这个目录:
~/.local/share/waydroid/data/media/0
你发现了啥?对的没错,它甚至很慷慨的把整个/data
分区给映射出来了,也就是~/.local/share/waydroid/data
这个目录
不过里面的东西所属的用户组跟你电脑的用户组不是同一个,可以通过ls -al
进行查看
但是你可以以root
用户的身份去对它进行一些读写,如果要让waydroid可以正常读写你改过的东西的话,还得记得把文件权限改回去哈
可以用这个命令将目录下所有文件(夹)的权限全改成安卓默认
1 |
|
卸载waydroid
停止容器
1 |
|
删除容器
1 |
|
注意,最后rm
的那个目录会把内部存储给清空,如果要备份数据,记得按上一步提到的去备份资料再删除。