Mulai 27 Maret 2025, sebaiknya gunakan android-latest-release
, bukan aosp-main
, untuk mem-build dan berkontribusi pada AOSP. Untuk mengetahui informasi selengkapnya, lihat Perubahan pada AOSP.
Stack Jaringan
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Stack Jaringan adalah modul Mainline yang dapat diupdate yang memastikan Android dapat
beradaptasi dengan standar jaringan yang berkembang dan memungkinkan interoperabilitas dengan
implementasi baru. Misalnya, update pada deteksi captive portal dan kode login
memungkinkan Android tetap mendapatkan update terbaru terkait perubahan model captive portal, dan
update pada APF memungkinkan Android menghemat daya di Wi-Fi saat jenis paket baru
menjadi umum.
Komponen yang disertakan
Modul Stack Jaringan berisi komponen berikut. Di perangkat yang menggunakan
modul, layanan ini dipindahkan ke proses yang berbeda dan diakses
melalui antarmuka AIDL yang stabil.
Layanan IP. IpClient
(sebelumnya IpManager
) adalah komponen yang bertanggung jawab atas
penyediaan dan pemeliharaan lapisan IP. Di Android 9, fitur ini sudah digunakan
lintas proses oleh komponen seperti Bluetooth, dan dalam proses oleh komponen
seperti Wi-Fi. DhcpClient
mendapatkan alamat IP dari server DHCP sehingga dapat
ditetapkan ke antarmuka.
NetworkMonitor. Komponen NetworkMonitor
menguji keterjangkauan internet saat terhubung ke jaringan baru atau saat terjadi kegagalan jaringan, saat mendeteksi captive portal, dan saat memvalidasi jaringan.
Aplikasi login captive portal. Aplikasi bawaan yang bertanggung jawab untuk mengelola login
di captive portal. Aplikasi ini telah menjadi aplikasi terpisah sejak Android 5.0, tetapi
berinteraksi dengan NetworkMonitor
untuk meneruskan beberapa pilihan pengguna ke sistem.
Jalur yang terpengaruh
Jalur yang dipindahkan ke modul Stack Jaringan oleh pemfaktoran ulang tercantum di bawah.
Lokasi baru kode yang dipindahkan berada di packages/modules/NetworkStack
,
packages/modules/CaptivePortalLogin
, dan beberapa lokasi bersama lainnya. Jalur
di atas merujuk ke lokasi file sebelum dipindahkan ke sana untuk Mainline.
File di packages/modules/NetworkStack
dan
packages/modules/CaptivePortalLogin
adalah bagian dari modul Mainline dan tidak dapat
diubah.
Modul Stack Jaringan berisi komponen berikut dalam format APK:
- Layanan IP
- Login captive portal (
com.google.android.captiveportallogin
)
Modul ini disertai dengan modul Konfigurasi Izin Stack Jaringan,
yang merupakan file APK bawaan yang menentukan izin yang diperlukan untuk
komponen Stack Jaringan.
Dependensi
Modul Stack Jaringan bergantung pada hal berikut:
Metode @hide dengan hak istimewa di server sistem (misalnya, di
IConnectivityManager.aidl
). API ini telah dibuat @SystemApi
dan
dilindungi dengan tepat sehingga dapat diakses oleh modul Mainline, tetapi
bukan aplikasi dengan hak istimewa lainnya (misalnya, menggunakan izin tanda tangan baru).
IPC Binder ke netd
yang ditentukan di
INetd.aidl
.
Antarmuka ini telah dikonversi ke AIDL yang stabil dan tunduk pada
pengujian kepatuhan.
Konten dan contoh kode di halaman ini tunduk kepada lisensi yang dijelaskan dalam Lisensi Konten. Java dan OpenJDK adalah merek dagang atau merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-07-27 UTC.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-07-27 UTC."],[],[],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."]]