"حِزمة الشبكة" هي وحدة Mainline قابلة للتحديث تضمن إمكانية تكيّف Android مع معايير الشبكة المتغيّرة وتتيح التشغيل التفاعلي مع عمليات التنفيذ الجديدة. على سبيل المثال، تتيح التحديثات التي تخص رصد المدخل المشروط الوصول إليه ورمز تسجيل الدخول لنظام التشغيل Android البقاء على اطّلاع بآخر طُرز المدخل المشروط الوصول إليه، وتتيح التحديثات التي تخص APF لنظام التشغيل Android توفير الطاقة على شبكة Wi-Fi عندما تصبح أنواع الحِزم الجديدة شائعة.
المكونات المضمّنة
تحتوي وحدة "حِزم الشبكة" على المكوّنات التالية. على الأجهزة التي تستخدم الوحدة، تم نقل هذه الخدمات إلى عملية مختلفة ويتم الوصول إليها من خلال واجهة AIDL ثابتة.
خدمات IP:
IpClient
(المعروفة سابقًا باسمIpManager
) هي مكوّن مسؤول عن توفير طبقة IP وصيانتها. في الإصدار 9 من نظام Android، كان يتم استخدام هذه الميزة في جميع العمليات من خلال مكوّنات مثل البلوتوث، وفي العمليات الداخلية من خلال مكوّنات مثل Wi-Fi. تحصلDhcpClient
على عناوين IP من خوادم بروتوكول التهيئة الآلية للمضيفين (DHCP) حتى يمكن إسنادها إلى الواجهات.NetworkMonitor يختبر المكوّن
NetworkMonitor
إمكانية الوصول إلى الإنترنت عند الاتصال بشبكة جديدة أو عند حدوث أعطال في الشبكة، وعند رصد المداخل المشروطة الوصول إليها، وعند التحقّق من الشبكات.تطبيق تسجيل الدخول إلى المدخل المشروط الوصول إليه: تطبيق مثبَّت مسبقًا مسؤول عن إدارة تسجيل الدخول على المداخل المشروط الوصول إليها. أصبح هذا التطبيق منفصلاً منذ الإصدار 5.0 من Android، ولكنه يتفاعل مع
NetworkMonitor
لإعادة توجيه بعض خيارات المستخدم إلى النظام.
المسارات المتأثرة
في ما يلي المسارات التي تم نقلها إلى وحدة "حِزم الشبكة" من خلال عملية إعادة التنظيم.
خدمات IP: في
frameworks/base/services/net/java/android/net/
:apf
dhcp
ip
netlink
util
(جزئيًا)
رصد المدخل المشروط الوصول إليه وتسجيل الدخول إليه: في
frameworks/base/
:core/java/android/net/captiveportal/
services/core/java/com/android/server/connectivity/NetworkMonitor.java
packages/CaptivePortalLogin/*
الموقع الجغرافي الجديد للرمز الذي تم نقله هو packages/modules/NetworkStack
،
packages/modules/CaptivePortalLogin
وبعض المواقع الجغرافية المشتركة الأخرى. تشير المسارات
المذكورة أعلاه إلى موقع الملفات قبل نقلها إلى Mainline.
الملفات في packages/modules/NetworkStack
و
packages/modules/CaptivePortalLogin
هي جزء من وحدة Mainline ولا يمكن
تعديلها.
تنسيق الحزمة
تحتوي وحدة "حِزمة بروتوكول الإنترنت" على المكوّنات التالية بتنسيق APK:
- خدمات الملكية الفكرية
- تسجيل الدخول إلى مدخل مشروط الوصول إليه (
com.google.android.captiveportallogin
)
تُصاحب هذه الوحدة وحدة إعدادات أذونات حِزمة Network Stack، وهي ملف APK مثبَّت مسبقًا يحدِّد الأذونات اللازمة لمكونات حِزمة Network Stack.
التبعيات
تعتمد وحدة "حِزم الشبكات" على ما يلي:
طرق @hide المميّزة في خادم النظام (على سبيل المثال، في
IConnectivityManager.aidl
). تم@SystemApi
و حماية واجهات برمجة التطبيقات هذه بشكلٍ مناسب كي يتمكّن منها الوصول إلى وحدة Mainline، ولكن ليس التطبيقات المميّزة الأخرى (على سبيل المثال، باستخدام إذن توقيع جديد).عناوين IP الخاصة بـ Binder لـ
netd
المحدّدة فيINetd.aidl
تم تحويل هذه الواجهة إلى واجهة برمجة تطبيقات AIDL ثابتة وتخضع لاختبارات الامتثال.