Ubuntu24.04 安卓模拟器安装指南

一、Waydroid 简介

Waydroid 是一个基于容器的开源工具,允许用户在 Linux 系统上运行完整的 Android 系统。它利用 Linux 内核的命名空间和 cgroups 功能,通过轻量级虚拟化技术实现 Android 应用的兼容性,无需传统虚拟机的高开销。

1、核心特性

  • 轻量级:基于容器技术,资源占用远低于传统虚拟机(如 VirtualBox)。
  • 高性能:直接使用宿主机的 Linux 内核,支持硬件加速(如 GPU)。
  • 兼容性:支持大多数 Android 应用,包括依赖 Google 服务框架的应用(需额外配置)。
  • 集成性:Android 应用可与 Linux 桌面环境无缝交互(如窗口模式、共享剪贴板)。

2、技术原理

Waydroid 由两部分组成:

  1. Waydroid 容器:运行 Android 系统的用户空间,基于 LineageOS 或 AOSP。
  2. Waydroid 服务:管理容器生命周期,处理与宿主机(如输入、显示)的交互。

依赖 Linux 内核的以下功能:

  • binderfs:提供 Android 的 Binder IPC 机制。
  • ashmem:实现共享内存。
  • 硬件加速:通过 VirglRenderer 或宿主 GPU 驱动支持图形渲染。

3、安装与配置

系统要求:

  • Linux 内核 ≥ 5.4(需启用 binderfs 和 ashmem)。
  • 支持 Vulkan 的 GPU(推荐)或 VirglRenderer。
  • 至少 4GB 内存(建议 8GB 以上)。

4、常见问题

  • 应用崩溃 :检查是否启用硬件加速,或尝试切换图形后端(如 waydroid prop set ro.hardware.gralloc=default)。
  • 网络问题:确保宿主机网络正常,Waydroid 默认共享宿主机网络。
  • 输入法支持:在 Android 设置中手动启用第三方输入法。

5、应用场景

  • 开发测试:快速验证 Android 应用兼容性。
  • 移动办公:在 Linux 桌面环境中运行微信、钉钉等移动应用。
  • 游戏娱乐:支持手柄或键鼠映射的 Android 游戏。

6、性能优化建议

  • 使用主流的 Wayland 合成器(如 Sway、GNOME on Wayland)以获得更好的窗口管理。
  • 分配更多 CPU 核心给容器(通过 waydroid prop set ro.cpuset.cpus=0-3)。
  • 关闭不必要的 Android 后台服务以节省资源。

Waydroid 目前仍处于活跃开发阶段,适合技术爱好者或特定需求用户。对于稳定性要求高的场景,建议关注其官方更新日志或社区反馈。

二、Waydroid 安装

bash 复制代码
sudo apt install curl ca-certificates -y
curl -s https://repo.waydro.id | sudo bash
sudo apt install waydroid -y
sudo systemctl enable --now waydroid-container

三、Waydroid 配置

点击图标打开 Waydroid :

首次初始化时需要下载镜像文件,但是直接下载会很慢:

此时需要手动下载,打开 https://sourceforge.net/projects/waydroid/files/images/ ,可以看到 vendor 和 system 两个文件夹,进去下载对应版本的 vendor 和 system,使用 motrix 或者某雷下载。

bash 复制代码
https://zenlayer.dl.sourceforge.net/project/waydroid/images/system/lineage/waydroid_x86_64/lineage-20.0-20250809-VANILLA-waydroid_x86_64-system.zip?viasf=1
https://zenlayer.dl.sourceforge.net/project/waydroid/images/vendor/waydroid_x86_64/lineage-20.0-20250809-MAINLINE-waydroid_x86_64-vendor.zip?viasf=1

注意,如果需要下载带谷歌框架的镜像,需要选择GAPPS版本!

下载后解压,得到 vendor.img 和 system.img ,将镜像复制到 waydroid 指定文件夹内:

bash 复制代码
sudo mkdir -p /usr/share/waydroid-extra/images/
sudo mv system.img /usr/share/waydroid-extra/images/
sudo mv vendor.img /usr/share/waydroid-extra/images/

初始化系统:

bash 复制代码
sudo waydroid init -f

四、Waydroid 启动

运行 waydroid:

bash 复制代码
waydroid session start
复制代码
[16:42:18] WAYLAND_DISPLAY is not set, defaulting to "wayland-0"
[16:42:18] Wayland socket '/run/user/1000/wayland-0' doesn't exist; are you running a Wayland compositor?

这是因为 N 卡与 Ubuntu 桌面导致的不兼容问题:

问题不大,可以通过安装合成器解决,如下:

bash 复制代码
sudo apt install weston
weston

重新启动:

bash 复制代码
export WAYLAND_DISPLAY=wayland-1 
waydroid session start

成功启动!

五、模拟器联网

默认情况下,模拟器是断网的,需要配置防火墙进行联网。

打开模拟器的窗口终端,执行防火墙命令:

bash 复制代码
sudo ufw allow 53
sudo ufw allow 67
sudo ufw default allow FORWARD
sudo ufw reload
sudo ufw status
sudo ufw enable

修改浏览器默认引擎:

重新打开首页:

此时就可以上网冲浪了!

相关推荐
todoitbo5 小时前
群晖NAS部署JmalCloud:Docker安装、文件管理、博客与公网访问完整教程
运维·docker·容器
拥小抱11 小时前
Compose 知识点
android
文章永久免费只为良心11 小时前
Web应用安全与防护_第三章_日志文件包含_从一道 CTFshow 题目讲透「日志投毒型 LFI → RCE」:原理、时序陷阱与全变种攻防手册
android·网络安全·渗透测试·漏洞危害·漏洞描述·日志投毒·红队指南
AIsoft_868912 小时前
学术讲座录音如何整理?录音APP可行吗
android·iphone
是枚小菜鸡儿吖12 小时前
Home Assistant跨品牌智能家居教程:Docker部署、米家接入、vivo桥接与远程访问
docker·容器·智能家居
Patrick在香港14 小时前
一个斜杠,把毫秒变成十几秒
android·数据库·python·性能优化·正则表达式·回溯·redos
螺蛳粉 螺蛳粉15 小时前
第 02 篇:镜像分层与 containerd 2.x 实战:SystemdCgroup 与 pause 镜像配置踩坑(底座认知 02)
docker·云原生·容器·kubernetes·etcd·containerd·kube-apiserver
海雅达手持终端PDA15 小时前
工业手持终端的“去手机化”演进:看海雅达如何以“同轴扫摄”终结工程妥协,重塑工业PDA新范式
android·物联网·智能手机·硬件工程·能源·制造·iot
wefg115 小时前
【Docker】镜像相关指令
运维·docker·容器
booboosui16 小时前
删掉一个住在本机的 agent:8 处要清,顺序不能反
android