Network Stack, Android'in gelişen ağ standartlarına uyum sağlamasını sağlayan ve yeni uygulamalarla birlikte çalışabilmesine olanak tanıyan, güncellenebilir bir Mainline modülüdür. Örneğin, giriş portalı algılama ve giriş kodunda yapılan güncellemeler, Android'in değişen giriş portalı modellerine ayak uydurmasını sağlar. APF'de yapılan güncellemeler ise yeni paket türleri yaygınlaştıkça Android'in kablosuz ağda güç tasarrufu yapmasına olanak tanır.
Dahil edilen bileşenler
Ağ Yığını modülü aşağıdaki bileşenleri içerir. Modülün kullanıldığı cihazlarda bu hizmetler farklı bir işleme taşındı ve kararlı bir AIDL arayüzü üzerinden erişiliyor.
IP hizmetleri.
IpClient
(eski adıylaIpManager
), IP katmanı sağlama ve bakımdan sorumlu bir bileşendir. Android 9'da Bluetooth gibi bileşenler tarafından işlemler arası, kablosuz bağlantı gibi bileşenler tarafından ise işlem içi olarak kullanılıyordu.DhcpClient
, arayüzlere atanabilmeleri için DHCP sunucularından IP adresleri alır.NetworkMonitor.
NetworkMonitor
bileşeni, yeni bir ağa bağlanırken veya ağ hataları oluştuğunda, giriş portalları algılanırken ve ağlar doğrulanırken internet erişilebilirliğini test eder.Giriş portalı oturum açma uygulaması. Giriş portallarında oturum açmayı yönetmekten sorumlu, önceden yüklenmiş bir uygulama. Bu uygulama, Android 5.0'dan beri ayrı bir uygulama olarak sunulmaktadır ancak bazı kullanıcı tercihlerini sisteme iletmek için
NetworkMonitor
ile etkileşime girer.
Etkilenen yollar
Yeniden düzenleme işlemiyle Network Stack modülüne taşınan yollar aşağıda listelenmiştir.
IP hizmetleri.
frameworks/base/services/net/java/android/net/
içinde:apf
dhcp
ip
netlink
util
(kısmen)
Giriş portalı algılama ve giriş.
frameworks/base/
içinde:core/java/android/net/captiveportal/
services/core/java/com/android/server/connectivity/NetworkMonitor.java
packages/CaptivePortalLogin/*
Taşınan kodun yeni konumu packages/modules/NetworkStack
,
packages/modules/CaptivePortalLogin
ve diğer bazı paylaşılan konumlarda. Yukarıdaki
yollar, dosyaların Mainline için taşınmadan önceki konumunu ifade eder.
packages/modules/NetworkStack
ve packages/modules/CaptivePortalLogin
klasörlerindeki dosyalar Mainline modülünün bir parçasıdır ve değiştirilemez.
Paket biçimi
Ağ Yığını modülü, APK biçiminde aşağıdaki bileşenleri içerir:
- IP hizmetleri
- Giriş portalı girişi (
com.google.android.captiveportallogin
)
Bu modül, Network Stack Permission Config modülüyle birlikte gelir. Bu modül, Network Stack bileşenleri için gerekli izinleri tanımlayan önceden yüklenmiş bir APK dosyasıdır.
Bağımlılıklar
Network Stack modülü şunlara bağlıdır:
Sistem sunucusundaki ayrıcalıklı @hide yöntemleri (ör.
IConnectivityManager.aidl
içinde). Bu API'ler, Mainline modülüne erişilebilir ancak diğer ayrıcalıklı uygulamalara erişilemez (ör. yeni bir imza izni kullanılarak) olacak şekilde@SystemApi
ve uygun şekilde korunmuştur.INetd.aidl
içinde tanımlanannetd
için bağlayıcı IPC'ler. Bu arayüz, kararlı AIDL'ye dönüştürüldü ve uygunluk testlerine tabi tutuluyor.