GAPPS 与默认(AOSP)镜像版本的核心区别
以下对比以 Waydroid init 时不带 -s(默认 AOSP 镜像)和带 -s GAPPS 两种版本为例。
1. 镜像内容对比
| 特性 | 默认(AOSP) | GAPPS |
|---|---|---|
| Google Play 商店 | × | √ |
| Google Play 服务 | × | √ |
| Google 帐号管理 | × | √ |
| 系统镜像体积 | 大约 800 MB | 大约 1000 MB |
| 镜像来源 | 官方 AOSP | 官方 AOSP + GMS 补丁 |
| 应用兼容性 | 需手动侧载 | 原生支持绝大多数应用 |
2. 适用场景
-
默认(AOSP)
- 只需运行开源安卓环境
- 注重隐私或希望极简系统
- 通过 APK 侧载安装第三方商店(如 F-Droid)
-
GAPPS
- 需要原生 Google 服务框架
- 直接安装并使用 Google Play 商店
- 大部分国内外付费应用和依赖 GMS 的应用均可运行
3. 优缺点总结
-
默认(AOSP)
- 优点:镜像更小无闭源组件开箱即用纯净环境
- 缺点:无法访问官方应用商店,需手动安装依赖
-
GAPPS
- 优点:即装即用 Google Play 商店和服务,高兼容性
- 缺点:镜像更大包含闭源组件,有时需额外注册 Device ID
一.在 Fedora 上安装Waydroid
下面是一份从零开始,在 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 -s GAPPS \ -c https://ota.waydro.id/system \ -v https://ota.waydro.id/vendor-c/--system-ota:下载并解压 Android System 镜像-v/--vendor-ota:下载并解压 Vendor 分区镜像
期间会下载约 1000 MB 的文件,请耐心等待。或者用代理
-
sudo http_proxy=http://127.0.0.1:10808 https_proxy=http://127.0.0.1:10808 waydroid init -s GAPPS
-
-
启动并开机自启服务:
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
扩展,虚拟环境版,git clone 后重启前使用
pipenv install pipenv shell pip install -r requirements.txt # 注意:不要加 sudo,也不需要写 pip3(虚拟环境中 pip 已关联当前 Python 版本) sudo /home/yys/.local/share/virtualenvs/waydroid_script-Tl8wA1rk/bin/python3 main.py # 直接指定虚拟环境中 Python 的完整路径来运行脚本
五连接 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,体积较大,需耐心等待下载完成。
七停止容器并删除数据
sudo systemctl stop waydroid-container
sudo rm -rf /var/lib/waydroid \
~/.local/share/waydroid \
~/.share/waydroid \
~/waydroid
二.在Kubuntu上安装Waydroid
在Kubuntu上安装Waydroid可以按照以下步骤进行,Waydroid是一个在Linux上运行Android应用的容器解决方案,基于Wayland协议:
1. 确保系统要求
- 运行Kubuntu 20.04或更高版本
- 启用Wayland会话(Kubuntu默认可能使用X11,需要在登录界面切换)
- 系统支持KVM虚拟化(推荐,可提供更好性能)
-
Waydroid 依赖 Wayland 显示服务器以获得最佳性能和兼容性。Kubuntu 24.04 默认使用传统的 X11,因此我们的首要任务是彻底切换环境。
-
安装 Plasma Wayland 会话组件
打开终端 (Konsole),输入以下命令来安装 Wayland 会话所需的核心软件包:sudo apt update sudo apt install plasma-workspace-wayland -y -
设置 Wayland 为默认登录会话
为了让系统每次启动都自动进入 Wayland,我们需要编辑显示管理器 (SDDM) 的配置文件。执行以下命令,使用 nano 编辑器打开或创建配置文件:
sudo nano /etc/sddm.conf在打开的文件中,粘贴以下内容。如果文件已有内容,请确保
[Autologin]部分和Session的值与下面一致(x11为Session=plasma.desktop):[Autologin] Session=plasmawayland.desktop- 说明: 这行配置告诉登录管理器,默认加载的桌面会话是
plasmawayland.desktop,也就是 Plasma 的 Wayland 会话。
完成后,按下
Ctrl + X,然后按Y键保存,最后按Enter键确认退出。 - 说明: 这行配置告诉登录管理器,默认加载的桌面会话是
-
重启并验证
重启您的电脑以使配置生效。登录后,打开终端并运行以下命令来验证当前会话类型:echo $XDG_SESSION_TYPE如果终端输出
wayland,恭喜您,最关键的一步已成功完成!您的系统现在默认运行在 Wayland 之上。
-
2. 安装依赖包
打开终端,首先安装必要的依赖:
sudo apt update
sudo apt install curl ca-certificates -y
3. 添加Waydroid仓库
Waydroid提供了官方Debian/Ubuntu仓库,执行以下命令添加:
# 添加仓库
curl https://repo.waydro.id | sudo bash
# 更新包索引
sudo apt update
4. 安装Waydroid
sudo apt install waydroid -y
5. 初始化Waydroid
安装完成后,需要对 Android 容器进行初始化。
- 初始化 Waydroid 容器
-
镜像类型选择:
VANILLA:纯净版 Android,不含谷歌服务,系统轻量。GAPPS:预装谷歌移动服务 (GMS) 和 Play 商店,方便绝大多数用户。强烈推荐选择此项。
-
提示:如果官方镜像下载缓慢,可以搜索并使用国内镜像源(如清华源)手动下载镜像包,再进行初始化。
-
- 运行初始化命令,系统会请您选择 Android 镜像类型:
sudo waydroid init -s GAPPS
或者用代理
sudo http_proxy=http://127.0.0.1:10808 https_proxy=http://127.0.0.1:10808 waydroid init -s GAPPS
后续同一.在 Fedora 上安装Waydroid
三Waydroid GAPPS 版 Play 商店提示“设备未经过 Play Protect 认证”的原因与解决方法
一问题现象
在 Linux 上安装了 Waydroid GAPPS 版(带 Google Play 商店)后,首次打开 Play 商店或 Google 应用时,可能会弹出如下提示:
此设备未经过 Play Protect 的认证
此设备未经过认证,无法访问 Google 应用和其他 Google 服务。
要了解详情,请访问 g.co/AndroidDeviceCert
点击“确定”后,依然无法正常登录 Google 账号或下载应用。
二问题原因
Waydroid 本质上是一个运行在 Linux 上的 Android 容器,它并不是 Google 官方认证的硬件设备。
Google Play Protect 会检查设备的 Google Services Framework ID(GSF ID) 是否在认证数据库中,如果没有,就会判定为“未认证设备”,从而限制 Google 服务的使用。
注意:
settings get secure android_id获取到的是 系统 Secure ID,不是 Google Play 服务用的 GSF ID。- 注册时必须使用 GSF ID,否则 Google 会提示“值有误”。
三解决方法
1. 启动 Waydroid 并确保 GAPPS 正常运行
先启动容器并进入 UI,确保 Play 商店和 Google Play 服务已经运行过一次:
sudo systemctl start waydroid-container
waydroid show-full-ui
2. 获取 GSF ID
在宿主机终端执行:
sudo waydroid shell
sqlite3 /data/data/com.google.android.gsf/databases/gservices.db \
"select * from main where name='android_id'"
输出会是一个十进制的长数字,例如:
android_id|4208739898732660414 # 取4208739898732660414
这串 字符串(不带 0x 前缀)就是要注册的 GSF ID。
4. 注册到 Google 认证数据库
- 打开浏览器访问:
https://www.google.com/android/uncertified/ - 登录你要在 Waydroid 中使用的 Google 账号。
- 将刚才的 十进制 GSF ID 粘贴到输入框。
- 勾选“我不是机器人”并完成验证。
- 点击 Register 注册。
5. 等待同步并重启 Waydroid
注册后等待几分钟到几小时,让 Google 同步认证信息。
评论区(0 条)
发表评论⏳ 加载编辑器…