J'essaie de connecter mon émulateur Android (à partir de sdk) à la lan via un pont réseau et une interface tap et avec l'option -qemu. J'ai besoin qu'il utilise les adresses multicast dans le code de la bibliothèque native pour communiquer avec les appareils IoT connectés à la lan.
Mais selon la version de l'image et l'architecture (x86 ou ARM), les comportements sont différents.
Pour l'image ARM (Android 7.1.1 armeabi-v7a) le pont fonctionne parfaitement. Le client Dhcp fonctionne automatiquement après le démarrage. Je peux pinger la passerelle lan, google ... et le multicasting fonctionne. Mais le réseau ajouté à l'émulateur n'est pas présent via ip link ou ifconfig, il est caché, et la route par défaut n'est pas présente ! ! étrange. L'émulateur n'est pas pingable de l'extérieur.
Pour l'image X86 (Android 7.1.1 google_apis/x86), le pont fonctionne parfaitement. Le client Dhcp fonctionne et le réseau invité est configuré. Je peux envoyer un ping à la passerelle lan, à google ..., la multidiffusion fonctionne, et le réseau est visible (eth1). Mais pour faire un ping à la passerelle ou à un autre hôte, je dois utiliser ping -I pour spécifier l'interface nic, l'émulateur utilise slirp network et il n'est pas pingable de l'extérieur.
Est-il possible de rendre l'émulateur pingable de l'extérieur ?
Est-il possible d'utiliser ping dans l'émulateur x86 sans utiliser l'option -I pour ping ?
Est-il possible de voir la connexion réseau dans l'émulateur ARM ?
Merci pour votre aide.