在 Fedora 上完整部署 Waydroid 并运行 ARM64 应用的详细教程
下面是一份从零开始,在 Fedora 上安装并配置 Waydroid添加 ARM 转译层(libhoudini),并通过 ADB 将 ARM64 APK 安装到容器里的详细教程。
一前置条件
-
Fedora(建议 36 及以上版本)。
-
拥有 sudo 权限的用户。
-
已联网,可访问外网下载镜像和脚本。
-
已安装基础开发工具:
sudo dnf groupinstall "Development Tools" sudo dnf install wget git python3-pip lzip sqlite
-
(可选)宿主机上已安装并配置好 Clash/VPN 等代理工具,以保证下载速度和稳定性。
二安装 Waydroid
-
启用 Waydroid 官方仓库(如果已添加可跳过):
sudo dnf install dnf-plugins-core sudo dnf config-manager --add-repo https://repo.waydro.id/fedora/waydroid.repo
-
安装 Waydroid:
sudo dnf install waydroid
-
查看安装结果:
rpm -q waydroid # 应输出类似:waydroid-1.5.4-1.fc42.noarch
三初始化 Waydroid
从 1.4.3 版本开始,waydroid init
命令必须指定系统及厂商 OTA 镜像地址。
-
停止(或确保未运行)Waydroid 服务:
sudo systemctl stop waydroid-container
-
初始化容器镜像:
sudo waydroid init \ -c https://ota.waydro.id/system \ -v https://ota.waydro.id/vendor
-c/--system-ota
:下载并解压 Android System 镜像-v/--vendor-ota
:下载并解压 Vendor 分区镜像
期间会下载约 800 MB 的文件,请耐心等待。
-
启动并开机自启服务:
sudo systemctl enable --now waydroid-container
-
启动容器会话并打开完整桌面:
waydroid session start waydroid show-full-ui
-
确认容器状态:
waydroid status # 应显示:container is running
四给容器添加 ARM 转译(libhoudini)
Waydroid 默认只跑 x86(64) Android,无法直接安装 ARM 原生 APK需要引入 Houdini 翻译层。
-
克隆并安装辅助脚本:
cd ~ git clone --depth=1 https://github.com/casualsnek/waydroid_script.git cd waydroid_script sudo pip3 install -r requirements.txt
-
运行脚本只安装 libhoudini:
sudo python3 main.py
- 选择 Android 13
- 选择 “Install” 操作
- 在组件列表里,用空格只选中 libhoudini,确保其他项都是“○”
- 回车确认,等待脚本下载并安装(体积小速度快)
-
重启容器使生效:
sudo waydroid session stop sudo waydroid session start waydroid show-full-ui
五连接 ADB 并安装 APK
-
查看容器内 Android 的 IP
在 Waydroid 桌面里打开 “设置 → 关于平板 → 状态信息 → IP 地址”
假设显示:192.168.240.112
-
在宿主机连接 ADB:
adb kill-server adb start-server adb connect 192.168.240.112:5555 # 返回 “connected to 192.168.240.112:5555”
-
(可选)验证连接:
adb devices # 列出 192.168.240.112:5555 device
-
推送并安装 ARM64 应用:
-
方法 A:直接安装本地 APK
adb install ~/下载/gwy-online-arm64-6.17.75-final.apk
-
方法 B:推送到 Download 再在 UI 安装
adb push ~/下载/gwy-online-arm64-6.17.75-final.apk /sdcard/Download/
然后在 Waydroid 的文件管理器中浏览
/sdcard/Download
,点击 APK 安装。
-
-
启动并验证应用运行
-
在 Waydroid 的应用抽屉里找到新装图标,点击打开
-
若要从宿主机命令行启动:
WAYDOID_PKG=$(adb shell pm list packages | grep gwy | cut -d: -f2) adb shell am start -n ${WAYDOID_PKG}/.MainActivity
-
六常见问题与排查
-
仍报 INSTALL_FAILED_NO_MATCHING_ABIS
确认libhoudini
安装成功:waydroid shell ls /system/lib*/libhoudini*.so
-
ADB 连接不上
- 确保容器在跑:
waydroid status
- 防火墙允许 5555 端口或临时关闭:
sudo systemctl stop firewalld
- 确保容器在跑:
-
网络不通
容器默认透传宿主网络,无需额外配置。如无法上网,检查宿主机防火墙对waydroid0
接口的放行。 -
想装 Google Play 等
重新运行脚本时可选 gapps,体积较大,需耐心等待下载完成。
至此,你已在 Fedora 上完整配置好了 Waydroid,包括 ARM 转译层,并能通过 ADB 向容器安装任意 ARM64 应用,享受流畅原生体验。
本文作者: 永生
本文链接: https://yys.zone/detail/?id=443
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!
评论列表 (0 条评论)