اعتبارًا من 27 آذار (مارس) 2025، ننصحك باستخدام android-latest-release
بدلاً من aosp-main
لإنشاء AOSP والمساهمة فيه. لمزيد من المعلومات، يُرجى الاطّلاع على التغييرات في AOSP.
حزم الشبكات
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
"حِزمة الشبكة" هي وحدة 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
لإعادة توجيه بعض خيارات المستخدم إلى النظام.
المسارات المتأثرة
في ما يلي المسارات التي تم نقلها إلى وحدة "حِزم الشبكة" من خلال عملية إعادة التنظيم.
الموقع الجغرافي الجديد للرمز الذي تم نقله هو 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 ثابتة وتخضع لاختبارات الامتثال.
يخضع كل من المحتوى وعيّنات التعليمات البرمجية في هذه الصفحة للتراخيص الموضحّة في ترخيص استخدام المحتوى. إنّ Java وOpenJDK هما علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو الشركات التابعة لها.
تاريخ التعديل الأخير: 2025-07-27 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","easyToUnderstand","thumb-up"],["ساعَدني المحتوى في حلّ مشكلتي.","solvedMyProblem","thumb-up"],["غير ذلك","otherUp","thumb-up"]],[["لا يحتوي على المعلومات التي أحتاج إليها.","missingTheInformationINeed","thumb-down"],["الخطوات معقدة للغاية / كثيرة جدًا.","tooComplicatedTooManySteps","thumb-down"],["المحتوى قديم.","outOfDate","thumb-down"],["ثمة مشكلة في الترجمة.","translationIssue","thumb-down"],["مشكلة في العيّنات / التعليمات البرمجية","samplesCodeIssue","thumb-down"],["غير ذلك","otherDown","thumb-down"]],["تاريخ التعديل الأخير: 2025-07-27 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],null,["# Network Stack is an updatable Mainline module that ensures that Android can\nadapt to evolving network standards and allows for interoperability with new\nimplementations. For example, updates to captive portal detection and login code\nallow Android to stay up to date with changing captive portal models, and\nupdates to APF allow Android to save power on Wi-Fi as new types of packets\nbecome common.\n\nIncluded components\n-------------------\n\nThe Network Stack module contains the following components. On devices using the\nmodule, these services were moved to a different process and are accessed\nthrough a stable AIDL interface.\n\n- **IP services.** `IpClient` (formerly `IpManager`) is a component in charge of\n IP layer provisioning and maintenance. In Android 9, it was already used\n cross-process by components such as Bluetooth, and in-process by components\n such as Wi-Fi. `DhcpClient` obtains IP addresses from DHCP servers so they can\n be assigned to interfaces.\n\n- **NetworkMonitor.** The `NetworkMonitor` component tests for internet\n reachability when connecting to a new network or upon network failures, when\n detecting captive portals, and when validating networks.\n\n- **Captive portal login app.** A preinstalled app in charge of managing login\n on captive portals. This has been a separate app since Android 5.0, but it\n interacts with `NetworkMonitor` to forward some user choices to the system.\n\nAffected paths\n--------------\n\nThe paths moved to the Network Stack module by the refactor are listed below.\n\n- **IP services.** In `frameworks/base/services/net/java/android/net/`:\n\n - `apf`\n - `dhcp`\n - `ip`\n - `netlink`\n - `util` (partly)\n- **Captive portal detection and login.** In `frameworks/base/`:\n\n - `core/java/android/net/captiveportal/`\n - `services/core/java/com/android/server/connectivity/NetworkMonitor.java`\n - `packages/CaptivePortalLogin/*`\n\nThe new location of the moved code is in `packages/modules/NetworkStack`,\n`packages/modules/CaptivePortalLogin` and some other shared locations. The above\npaths refer to the location of files before being moved there for Mainline.\nFiles in `packages/modules/NetworkStack` and\n`packages/modules/CaptivePortalLogin` are part of the Mainline module and cannot\nbe modified.\n\nPackage format\n--------------\n\nThe Network Stack module contains the following components in APK format:\n\n- IP services\n- Captive portal login (`com.google.android.captiveportallogin`)\n\nThis module is accompanied by the Network Stack Permission Config module,\nwhich is a pre-installed APK file that defines the necessary permissions for the\nNetwork Stack components.\n\nDependencies\n------------\n\nThe Network Stack module depends on the following:\n\n- Privileged @hide methods in the system server (e.g., in\n `IConnectivityManager.aidl`). These APIs have been made `@SystemApi` and\n appropriately protected so that they are accessible to the Mainline module but\n not other privileged apps (e.g., using a new signature permission).\n\n- Binder IPCs to `netd` defined in\n [`INetd.aidl`](https://android.googlesource.com/platform/system/netd/+/android16-release/server/binder/android/net/INetd.aidl).\n This interface has been converted to stable AIDL and is subject to conformance\n tests."]]