Je pense que -net tap est l'ancienne méthode, utilisez -netdev tap avec le nouvel émulateur Android sdk et -device virtio-net-pci pour l'émulateur Android x86. Pour l'émulateur ARM, vous devez utiliser un autre dispositif.
Et vous devez installer le paquet de l'émulateur avec le sdkmanager comme ceci :
sdkmanager emulator
Vous pouvez alors utiliser l'émulateur situé dans /opt/Android-sdk/emulator/emulator.
Créez un pont réseau qui comprend une interface tap (tap0) pour l'émulateur et une interface ethernet (enp0s20u1) connectée à un réseau lan.
# ip addr flush dev enp0s20u1
# ip link set enp0s20u1 down
# ip tuntap add dev tap0 mode tap user $(whoami)
# ip link add br0 type bridge
# ip link set enp0s20u1 master br0
# ip link set tap0 master br0
# ip link set enp0s20u1 up
# ip link set tap0 up
# ip link set br0 up
Une vue d'ensemble rapide du pont.
# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.0050b609a5d1 no enp0s20u1
tap0
Démarrez un client dhcp sur le pont :
# dhcpcd br0
Vous pouvez ensuite connecter l'interface tap (tap0) à l'émulateur Android via les options -qemu lorsque vous lancez l'émulateur.
./opt/android-sdk/emulator/emulator \
-avd android_25_x86 \
-verbose -no-window \
-qemu \
-device virtio-net-pci,netdev=hn0,mac=52:55:00:d1:55:51 \
-netdev tap,id=hn0,ifname=tap0,script=no,downscript=no
Normalement une nouvelle interface eth1 est présente dans l'émulateur Android. Et vous pouvez exécuter le binaire dhcpclient s'il est présent ou configurer une route statique vers votre réseau, alors cela fonctionne.
generic_x86:/ # ping -c 1 -I eth1 8.8.8.8
PING 8.8.8.8 (8.8.8.8) from 192.168.1.60 eth1: 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=55 time=17.1 ms
--- 8.8.8.8 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 17.160/17.160/17.160/0.000 ms
Mais j'ai quelques problèmes pour pinger l'émulateur depuis l'extérieur ou pour router tout le trafic dans l'émulateur vers le réseau hôte, voir mon autre post.
Connecter l'émulateur Android au réseau local
0 votes
-net-tap tap0