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

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

模拟器效果

在这里插入图片描述
在这里插入图片描述

一、Waydroid 简介

  • https://waydro.id/

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 安装

sudoaptinstallcurl ca-certificates -y curl -s https://repo.waydro.id |sudobashsudoaptinstall waydroid -y sudo systemctl enable --now waydroid-container 
在这里插入图片描述

三、Waydroid 配置

点击图标打开 Waydroid :

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

在这里插入图片描述

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

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.imgsystem.img ,将镜像复制到 waydroid 指定文件夹内:

在这里插入图片描述
在这里插入图片描述
sudomkdir -p /usr/share/waydroid-extra/images/ sudomv system.img /usr/share/waydroid-extra/images/ sudomv vendor.img /usr/share/waydroid-extra/images/ 

初始化系统:

sudo waydroid init -f 

四、Waydroid 启动

运行 waydroid

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 桌面导致的不兼容问题:

在这里插入图片描述

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

sudoaptinstall weston weston 
在这里插入图片描述

重新启动:

exportWAYLAND_DISPLAY=wayland-1 waydroid session start 
在这里插入图片描述
在这里插入图片描述

成功启动!

五、模拟器联网

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

在这里插入图片描述

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

sudo ufw allow 53sudo ufw allow 67sudo ufw default allow FORWARD sudo ufw reload sudo ufw status sudo ufw enable
在这里插入图片描述

修改浏览器默认引擎:

在这里插入图片描述

重新打开首页:

在这里插入图片描述

此时就可以上网冲浪了!

六、安装 apk

https://f-droid.org/FDroid.apk 

使用下载器下载FDroid,然后使用以下指令安装:

waydroid app install FDroid.apk 
在这里插入图片描述

F-Droid 更换为清华源

在这里插入图片描述
https://mirrors.tuna.tsinghua.edu.cn/fdroid/repo/?fingerprint=43238D512C1E5EB2D6569F4A3AFBF5523418B82E0A3ED1552770ABB9A9C9CCAB 
在这里插入图片描述
在这里插入图片描述

七、安装 ARM 翻译层

# 停止容器sudo systemctl stop waydroid-container 
# 克隆仓库git clone https://github.com/casualsnek/waydroid_script cd waydroid_script # 创建环境 python3 -m venv venv # 安装依赖 venv/bin/pip install -r requirements.txt 
在这里插入图片描述
# 安装 lzipsudoaptinstall lzip # 安装 libhoudini (ARM转译层)sudo venv/bin/python3 main.py install libhoudini 
在这里插入图片描述
# 启动容器sudo systemctl start waydroid-container 

此时可以安装 TapTap

在这里插入图片描述
在这里插入图片描述

八、触屏功能设置

在使用 Waydroid 时,某些应用可能需要模拟 touch 事件。例如,修复某些游戏中无法拖动进度条的问题,可以通过以下命令实现:

# waydroid prop set persist.waydroid.fake_touch xxx.xxx.xxx# 注意填写正确的应用信息 waydroid prop set persist.waydroid.fake_touch com.hypergryph.arknights 
在这里插入图片描述

Read more

OpenClaw 系统架构分析

带你深入了解OpenClaw的架构和核心流程。 1. 架构概述 OpenClaw 采用插件化的 Gateway 控制平面架构,结合多渠道消息系统和跨平台客户端应用,构建了一个完整的个人 AI 助手生态系统。 核心架构特征 1. Gateway 控制平面: 单一 WebSocket 服务器管理所有会话、渠道和事件 2. 多渠道消息系统: 统一抽象层支持 15+ 消息平台 3. 插件化扩展: Monorepo 架构下的独立插件包 4. 跨平台客户端: CLI + macOS App + iOS/Android 节点 5. AI 代理引擎: 基于 Pi Agent 的 RPC 模式代理 6. 本地优先设计: 数据和会话本地存储,隐私可控 2.

By Ne0inhk
Linux IPC全揭秘(一):进程间通信:概念与目的

Linux IPC全揭秘(一):进程间通信:概念与目的

目录 * 一、进程间通信目的 * 1. **数据传输** * 2. **资源共享** * 3. **通知事件** * 4. **进程控制** * 二、进程间通信发展历程 * 1. **管道(1969年)** * 2. **System V IPC(1983年)** * 3. **POSIX IPC(1990年代)** * 三、进程间通信分类详解 * 1. **管道体系** * 1.1 匿名管道(pipe) * 1.2 命名管道(FIFO) * 2. **System V IPC** * 2.1 System V 消息队列 * 2.2 System V

By Ne0inhk
自己招一个ai员工-Ubuntu22.04安装Openclaw详细教程-小白可直接上手-持续更新中

自己招一个ai员工-Ubuntu22.04安装Openclaw详细教程-小白可直接上手-持续更新中

Ubuntu22.04安装Openclaw * 准备工作 * 一键安装 * 设置通道 配置飞书 * 让ai员工更好用 * 加入免费的模型 * 配置钉钉 * 在GLM-4 .7-Flash基础上加入deepseek * 加入minimax和豆包模型 * 配置web搜索 * .env File * 🔌 Exa MCP Server for OpenAI Codex * Quick Start * cURL * Function Calling / Tool Use * OpenAI Function Calling * Anthropic Tool Use * Search Type Reference * Content Configuration * Domain Filtering (Optional) * Web Search Tool * Category Examples * People Search (`category:

By Ne0inhk

不用部署服务器!蓝湖发布原型+链接共享全指南

不知道有没有小伙伴跟我一样,之前一直用Axure做原型,最方便的就是点击发布就能生成链接,直接发给客户或同事查看,异地协作也没压力。结果后来Axure搞会员付费,不掏钱就没法生成共享链接了。这可愁坏我了——总不能为了发个原型,还专门去申请并部署服务器吧?增加沟通成本又费时间又费精力,对非技术岗的人来说太不友好。         后来翻了不少工具推荐,终于发现了蓝湖!完全不用自己折腾服务器,上传原型后就能直接生成共享链接,操作还特别简单。今天就把完整流程分享给大家,帮有同样困扰的朋友少走弯路。 一、先跟大家说清楚:为啥选蓝湖?(背景&目标) 1. 背景痛点 * Axure付费门槛:之前免费的发布生成链接功能,现在需要会员才能用,增加了使用成本; * 自建服务器麻烦:想自己部署服务器生成链接,不仅需要懂技术,还得人工维护,耗时耗力; * 跨地域/跨网段协作难:异地客户或不在同一网段的同事,没法快速查看原型,沟通效率低。 2. 核心目标         找一个免费、简单的工具,不用部署服务器,能快速把做好的原型(比如Axure原型)生成共享链接,方便目标对

By Ne0inhk