银河麒麟安卓兼容模块打不开的根本原因是容器服务未就绪、内核模块缺失或SELinux/KYSEC策略拦截;需依次检查安装状态、启动守护进程、启用cgroups v2、加载binder/ashmem模块并绕过KYSEC拦截。

银河麒麟系统中安卓兼容模块(如Waydroid、Anbox或厂商定制的安卓运行环境)打不开,表现为点击图标无响应、终端执行启动命令报错“no such file or directory”或“failed to connect to daemon”,根本原因是容器服务未就绪、内核模块缺失、或SELinux/KYSEC策略拦截。
确认安卓运行环境是否已安装并启用
部分银河麒麟镜像默认不预装安卓兼容模块,尤其是V10 SP2及V11桌面版精简版本。打开终端,执行:
dpkg -l | grep -i "waydroid\|anbox\|kylin-android";若无任何输出,说明该模块未安装。
若输出含“ii”状态但包名含“deinstall”,代表已被卸载残留配置——此时需先执行sudo apt purge对应包名,再重装。
对于官方支持的“麒麟安卓运行环境”(kylin-android-runtime),请前往麒麟软件商店搜索“安卓运行环境”并安装;【必须选择与当前系统架构匹配的版本:x86_64机器禁用aarch64包,ARM平台(如鲲鹏、飞腾)禁用amd64包】。
检查并启动核心守护进程
安卓兼容模块依赖后台daemon持续运行,一旦服务僵死,图形界面点击即失效。
方法一:检查并重启Waydroid服务(适用于已安装Waydroid用户)
执行systemctl --user status waydroid-container;若显示inactive或failed,依次运行:
systemctl --user stop waydroid-container → systemctl --user start waydroid-container → systemctl --user enable waydroid-container。
方法二:手动触发Anbox桥接服务(适用于Anbox部署场景)
先确认anbox服务状态:sudo systemctl status anbox-container-manager;若非active,执行:
sudo systemctl start anbox-container-manager;
随后运行anbox launch --package=org.anbox.appmgr --component=org.anbox.appmgr.AppManager 启动管理器验证连通性。
注意:Anbox要求内核启用binder_linux和ashmem_linux模块,银河麒麟V10默认未加载——执行sudo modprobe binder_linux && sudo modprobe ashmem_linux,并写入/etc/modules防止重启丢失。
修复内核模块与容器运行时依赖
安卓兼容环境本质是基于Linux容器+Android用户空间,对cgroups v2、bpf、overlayfs等内核特性强依赖。银河麒麟V10 SP1/SP2内核(4.19.90-kylin)默认启用cgroups v1,需手动切换。
第一步:确认当前cgroups版本
执行mount | grep cgroup;若输出含“cgroup2 on /sys/fs/cgroup type cgroup2”,说明已就绪;若只有cgroup(无数字2),则需切换。
第二步:强制启用cgroups v2
编辑/etc/default/grub,找到GRUB_CMDLINE_LINUX行,在引号内末尾添加:systemd.unified_cgroup_hierarchy=1;
保存后执行sudo update-grub → sudo reboot;
【重启不可跳过,仅reload systemd无效】。
第三步:验证容器运行时
执行podman info 2>/dev/null | grep -i "cgroup.*v2";有输出即表示cgroups v2已生效;再运行waydroid init(首次初始化)或anbox session-manager --verbose观察日志是否出现“binder: registered”的成功提示。
绕过KYSEC安全策略拦截
KYSEC的appcontrol模块会默认阻止非签名安卓容器进程加载,这是V10 SP2/V11中安卓模块“点不动、启不来”的高频原因。
执行sudo getstatus | grep appcontrol;若返回“appcontrol: warning”或“appcontrol: enforcing”,说明策略已激活拦截。
临时放行(测试用):sudo setstatus appcontrol disable;
永久关闭(生产慎用):sudo setstatus appcontrol permanent-disable;
执行后需重启anbox-container-manager或waydroid-container服务,再尝试启动安卓应用。
这一步操作起来很简单,直接在终端里敲完命令回车就行,但要注意:permanent-disable后无法通过图形界面重新开启,需用sudo setstatus appcontrol enable恢复。











