开源android网络组件,网络  |  Android 开源项目  |  Android Open Source Project

Android 10 包含以下网络模块:

网络组件模块,用于提供通用 IP 服务、网络连接监控和强制登录门户检测。

网络堆栈权限配置模块,定义了一种可让模块执行网络相关任务的权限。

网络组件模块

网络组件模块可以确保 Android 能够适应不断完善的网络标准,并支持与新实现进行互操作。例如,通过针对强制门户检测和登录代码的更新,Android 能够及时了解不断变化的强制门户模型;通过针对高级政策防火墙 (APF) 的更新,Android 能够在新型数据包普及的同时节省 WLAN 耗电量。

Android 10 中的变化

网络组件模块包含以下组件。

IP 服务。IpClient(以前称为 IpManager)组件负责处理 IP 层配置和维护。在 Android 9 中,它被蓝牙等组件用于进程间处理,被 WLAN 等组件用于进程内处理。DhcpClient 组件从 DHCP 服务器获取 IP 地址,以便将它们分配给接口。

NetworkMonitor。NetworkMonitor 组件会在连接到新网络或出现网络故障时、检测强制门户时以及验证网络时测试互联网可达性。

强制门户登录应用。强制门户登录应用是一款预安装应用,负责管理强制门户的登录操作。从 Android 5.0 开始,此应用一直是一款独立应用,但它会与 NetworkMonitor 交互,以将一些用户选项转发到系统。

在使用网络组件模块的设备上,系统会将上述服务重构为其他进程,并使用稳定的 AIDL 接口进行访问。重构路径如下表所示。

IP 服务重构路径

Android 9 及更低版本

在 frameworks/base/services/net/java/android/net/ 中:

apf

dhcp

ip

netlink

util(部分)

Android 10 及更高版本

packages/modules/NetworkStack

强制门户登录重构路径

Android 9 及更低版本

在 frameworks/base/ 中:

core/java/android/net/captiveportal/

services/core/java/com/android/server/connectivity/NetworkMonitor.java

packages/CaptivePortalLogin/*(其中 * 表示通配符)

Android 10 及更高版本

packages/modules/CaptivePortalLogin(以及一些其他共享位置)

格式和依赖项

网络组件模块以三个 APK 的形式提供:一个用于 IP 服务,一个用于强制门户登录,一个用于网络堆栈权限配置。

网络组件模块依赖于以下各项:

系统服务器中的特权 @hide 方法(如 IConnectivityManager.aidl 中的此类方法)。这些 API 带有 @SystemApi 注释并受到适当保护,这样一来,该模块可以访问它们,但其他特权应用(如使用新签名权限的应用)则不能。

INetd.aidl 中定义的指向 netd 的 Binder IPC。此接口已转换为稳定的 AIDL,并且需要进行符合性测试。

网络堆栈权限配置模块

网络堆栈权限配置模块不包含任何代码,而是定义了一种供网络堆栈模块和强制门户登录模块使用的权限。系统允许已获得此权限的模块在设备上执行相关的网络配置任务。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值