Google は、黒人コミュニティに対する人種平等の促進に取り組んでいます。取り組みを見る

ネットワーク

Android 10 には、次のネットワーク モジュールが含まれています。

  • Networking Components モジュールは、一般的な IP サービス、ネットワーク接続モニタリング、キャプティブ ログイン ポータル検出を提供します。
  • Network Stack Permission Config モジュールは、モジュールがネットワーク関連のタスクを実行するための権限を定義します。

Networking Components モジュール

Networking Components モジュールにより、Android は常に改善されているネットワーク標準に適応し、新しい実装と相互運用できるようになります。 たとえば、Android はキャプティブ ポータル検出とログインコードの更新を通じて、キャプティブ ポータルモデルの変化に対応できます。また、新しいタイプのパケットが一般的になったときに、Advanced Policy Firewall(APF)の更新を通じて Wi-Fi の電力を節約できます。

Android 10 の変更点

Networking Components モジュールには次のコンポーネントが含まれています。

  • IP サービス。IpClient(以前の IpManager)コンポーネントは、IP レイヤのプロビジョニングとメンテナンスを処理します。Android 9 では、Bluetooth などのコンポーネントによるクロスプロセスと、Wi-Fi などのコンポーネントによるインプロセスで使用されていました。DhcpClient コンポーネントは、DHCP サーバーから IP アドレスを取得してインターフェースに割り当てます。
  • NetworkMonitor。NetworkMonitor コンポーネントは、ネットワークの新規接続時や障害発生時、キャプティブ ポータルの検出時、ネットワークの検証時に、インターネットの到達可能性をテストします。
  • キャプティブ ポータル ログインアプリ。キャプティブ ポータル ログインアプリは、キャプティブ ポータルのログイン操作を管理するプリインストール アプリです。Android 5.0 以降は独立したアプリですが、NetworkMonitor とやり取りしていくつかのユーザーの選択をシステムに転送します。

Networking Components モジュールを使用するデバイスでは、上記のサービスを別のプロセスにリファクタリングし、安定版の 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(およびその他の共有場所)

形式と依存関係

Networking Components モジュールは、IP サービス用、キャプティブ ポータル ログイン用、Network Stack Permission Config 用の 3 つの APK として提供されます。

Networking Components モジュールは以下に依存します。

  • システム サーバーの特権 @hide メソッドIConnectivityManager.aidl のメソッドなど)。これらの API は、@SystemApi アノテーションが付けられて適切に保護されています。そのため、モジュールからはアクセスできますが、他の特権アプリ(新しい署名権限を使用するアプリなど)からはアクセスできません。
  • INetd.aidl で定義される netd を指す Binder IPC。このインターフェースは安定版の AIDL に変換されており、適合性テストの対象となります。

Network Stack Permission Config モジュール

Network Stack Permission Config モジュールにはコードが含まれていませんが、Network Stack と Captive Portal Login モジュールで使用する権限が定義されています。システムは、この権限を付与されたモジュールに対して、関連するネットワーク設定タスクをデバイス上で実行することを許可します。