O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

Networking

O Android 10 inclui os seguintes módulos de rede:

  • O módulo Networking Components fornece serviços de IP comuns, monitoramento de conectividade de rede e detecção de portal de login cativo.
  • O módulo Network Stack Permission Config define uma permissão que permite que os módulos executem tarefas relacionadas à rede.

Módulo de componentes de rede

O módulo Networking Components garante que o Android possa se adaptar aos padrões de rede em evolução e permite a interoperabilidade com novas implementações. Por exemplo, as atualizações para a detecção do portal cativo e o código de login permitem que o Android fique atualizado com a mudança dos modelos do portal cativo, e as atualizações do Advanced Policy Firewall (APF) permitem que o Android economize energia no Wi-Fi à medida que novos tipos de pacotes se tornam comuns.

Mudanças no Android 10

O módulo Componentes de rede contém os seguintes componentes.

  • Serviços de IP. O componente IpClient (anteriormente IpManager) lida com o provisionamento e a manutenção da camada IP. No Android 9, era usado em processo cruzado por componentes como Bluetooth e em processo por componentes como Wi-Fi. O componente DhcpClient obtém endereços IP de servidores DHCP para que possam ser atribuídos a interfaces.
  • NetworkMonitor. O componente NetworkMonitor testa a acessibilidade da Internet ao se conectar a uma nova rede ou em caso de falhas de rede, ao detectar portais cativos e ao validar redes.
  • Aplicativo de login do portal cativo. O aplicativo de login do portal Captive é um aplicativo pré-instalado encarregado de gerenciar o login em portais cativos. Este tem sido um aplicativo separado desde o Android 5.0, mas interage com o NetworkMonitor para encaminhar algumas escolhas do usuário para o sistema.

Nos dispositivos que utilizam o módulo de componentes de rede, os serviços acima estão reformulado para um processo diferente e são acedidos utilizando um estável AIDL de interfaces . Os caminhos de refatoração são mostrados nas tabelas a seguir.

Caminhos de refatoração de serviços IP

Android 9 e inferior Em frameworks/base/services/net/java/android/net/ :
  • apf
  • dhcp
  • ip
  • netlink
  • util (parcialmente)
Android 10 e superior packages/modules/NetworkStack

Caminhos de refatoração de login do portal cativo

Android 9 e inferior Em frameworks/base/ :
  • core/java/android/net/captiveportal/
  • services/core/java/com/android/server/connectivity/NetworkMonitor.java
  • packages/CaptivePortalLogin/* (onde * = universal)
Android 10 e superior packages/modules/CaptivePortalLogin (e alguns outros locais compartilhados)

Formato e dependências

O módulo de componentes de rede é entregue como três APKs: um para serviços IP, um para o login portal cativo, e um para pilha de rede Permissão de configuração .

O módulo Componentes de rede depende do seguinte:

  • Privilegiados @hide métodos no servidor do sistema (por exemplo, em IConnectivityManager.aidl ). Essas APIs foram anotados com @SystemApi e adequadamente protegidos de modo que eles são acessíveis para o módulo, mas não outros aplicativos privilegiados (por exemplo, usando uma nova permissão de assinatura).
  • Binder CIPs para netd definido em INetd.aidl . Esta interface foi convertida em AIDL estável e está sujeita a testes de conformidade.

Módulo de configuração de permissão de pilha de rede

O módulo Network Stack Permission Config não contém código, mas define uma permissão destinada ao uso pelos módulos Network Stack e Captive Portal Login. O sistema permite que os módulos com essa permissão executem tarefas de configuração de rede relacionadas no dispositivo.