Les ports ne sont pas réservés par Android (ni par aucun autre OS) mais sont attribué par l'IANA pour une utilisation spécifique . Si un port est libre, c'est-à-dire qu'aucun processus n'y est connecté ou ne l'écoute, vous pouvez l'utiliser avec votre programme. Mais cela peut casser la fonctionnalité de l'application pour laquelle le port est réservé. Sinon, vous devrez modifier le code source et reconstruire tous les programmes qui utilisent un port fixe. Cela ne semble ni logique ni possible en pratique.
Par exemple, le port UDP 68 est réservé aux clients DHCP et il en est de même sur Android :
# ss -up
Recv-Q Send-Q Local Address:Port Peer Address:Port
0 0 192.168.1.11:68 192.168.1.1:67 users:(("system_server",pid=4521,fd=249))
Donc, si vous voulez utiliser ce port pour votre programme, vous devrez modifier les paramètres suivants Code source Android de remplacer toutes les instances du port 68 par un autre port inutilisé, puis de reconstruire la ROM.
Cependant, vous êtes libre de l'utiliser lorsque l'appareil n'est pas connecté à un réseau via le WiFi ou les données mobiles, ce qui n'a évidemment pas beaucoup de sens. Ou vous pouvez configurer statique IP, Gateway et DNS de sorte que DHCP n'est plus nécessaire et que le port se libère pour d'autres usages.
Pour en savoir plus :