您尚未登录。

#1 2025-06-09 23:11:07

YuXiang187
会员
注册时间: 2021-06-10
帖子: 21

[已解决]waydroid无法联网

如图

屏幕截图_20250609_220501.png

先来看看我是如何安装的:

因为我是linux 6.14内核,已经自动启用了binderfs支持,所以AUR上的包binder_linux-dkms已经失效。

需要在GRUB设置中启用binder支持:

编辑/etc/default/grub,加入:

GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 nowatchdog binder.devices=binder,hwbinder,vndbinder"

保存后更新GRUB配置:

sudo grub-mkconfig -o /boot/grub/grub.cfg

之后重启电脑,然后验证binderfs是否可用并挂载

sudo mkdir -p /dev/binderfs
sudo mount -t binder binder /dev/binderfs
ls /dev/binderfs # 输出binder  vndbinder  hwbinder  binder-control

将它们链接到/dev/:

sudo ln -sf /dev/binderfs/binder /dev/binder
sudo ln -sf /dev/binderfs/vndbinder /dev/vndbinder
sudo ln -sf /dev/binderfs/hwbinder /dev/hwbinder

安装Waydroid

yay -S waydroid
sudo pacman -S waydroid-image

启动

sudo waydroid init
sudo systemctl enable --now waydroid-container
waydroid session start
waydroid show-full-ui

到这里正常打开Android UI是没网络的状态,我使用NetworkManager管理网络

我的内核开启了IP转发

sudo cat /proc/sys/net/ipv4/ip_forward
# 输出1

在终端输入ip addr show返回的结果:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute 
       valid_lft forever preferred_lft forever
2: wlp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 1c:79:2d:5b:75:8e brd ff:ff:ff:ff:ff:ff
    altname wlx1c792d5b758e
    inet 192.168.0.13/24 brd 192.168.0.255 scope global dynamic noprefixroute wlp2s0
       valid_lft 172542sec preferred_lft 172542sec
    inet6 fe80::2e6d:bcc8:a3af:d58/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: enp3s0f3u4u3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 1000
    link/ether 9e:7f:60:a5:bc:d5 brd ff:ff:ff:ff:ff:ff
    altname enx9e7f60a5bcd5
    inet 192.168.149.179/24 brd 192.168.149.255 scope global dynamic noprefixroute enp3s0f3u4u3
       valid_lft 3369sec preferred_lft 3369sec
    inet6 fe80::3886:50c7:aed3:4609/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
4: waydroid0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 00:16:3e:00:00:01 brd ff:ff:ff:ff:ff:ff
    inet 192.168.240.1/24 brd 192.168.240.255 scope global waydroid0
       valid_lft forever preferred_lft forever
    inet6 fe80::216:3eff:fe00:1/64 scope link proto kernel_ll 
       valid_lft forever preferred_lft forever
5: veth6f18bf@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master waydroid0 state UP group default qlen 1000
    link/ether fe:4e:fa:c3:96:67 brd ff:ff:ff:ff:ff:ff link-netnsid 0

然后很奇怪的是,在Android Shell下ping百度的IPv4地址是通的,然后域名不通:

屏幕截图_20250609_220951.png

我同时按照ArchWiki上的步骤设置了防火墙,但没有效果,关闭了防火墙之后还是没效果(我使用的防火墙是firewalld)

屏幕截图_20250609_221852.png

下面是我的ArchLinux参数:

屏幕截图_20250609_221202.png

然后我也尝试去询问了ChatGPT,各种尝试后依然无果(每次尝试失败后都用timeshift还原了)

也运行过网上找的下面这条命令,无果:

sudo sed -i~ -E 's/=.\$\(command -v (nft|ip6?tables-legacy).*/=/g' /usr/lib/waydroid/data/scripts/waydroid-net.sh

运行以下命令,还是无果:

iptables-save
nft list ruleset
ip r
ip ru

至于我的网络图标为什么有个感叹号,是因为我挂了梯子(v2raya),但开启关闭梯子还是一样,waydroid都无法上网

各位大佬知道怎么解决这个问题吗?如果需要提供其他信息可以留言告诉我,谢谢了QAQ

最近编辑记录 YuXiang187 (2025-06-10 21:43:49)

离线

#2 2025-06-09 23:24:05

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 9,311
个人网站

Re: [已解决]waydroid无法联网

DNS 有问题吧。去「设置」里看看当前 DNS 服务器。

离线

#3 2025-06-10 08:55:35

YuXiang187
会员
注册时间: 2021-06-10
帖子: 21

Re: [已解决]waydroid无法联网

sudo vim /etc/NetworkManager/conf.d/dns-servers.conf
[global-dns-domain-*]
servers=1.1.1.1,8.8.8.8
sudo nmcli general reload

调整了一下NetworkManager的DNS设置,解决了,谢谢大佬!

不过我在使用arm翻译层打开arm应用时,应用显示没有网络连接,使用x86的原生Android应用就有网络连接,这是什么原因呢?

因为我的CPU是AMD的,所以装了 libndk arm 翻译层

离线

#4 2025-06-10 21:42:40

YuXiang187
会员
注册时间: 2021-06-10
帖子: 21

Re: [已解决]waydroid无法联网

感谢各位,问题已经解决了,只要为arm应用启用fake wifi就可以了:

waydroid app list
waydroid prop set persist.waydroid.fake_wifi <package_name>

离线

页脚