页次: 1
如图
先来看看我是如何安装的:
因为我是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地址是通的,然后域名不通:
我同时按照ArchWiki上的步骤设置了防火墙,但没有效果,关闭了防火墙之后还是没效果(我使用的防火墙是firewalld)
下面是我的ArchLinux参数:
然后我也尝试去询问了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)
离线
DNS 有问题吧。去「设置」里看看当前 DNS 服务器。
离线
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 翻译层
离线
感谢各位,问题已经解决了,只要为arm应用启用fake wifi就可以了:
waydroid app list
waydroid prop set persist.waydroid.fake_wifi <package_name>
离线
页次: 1