Package
com.google.android.networkstack.tethering.overlay
TetheringResOverlay
Guidance
TetheringResOverlay, a Runtime Resource Overlay (RRO) that supplies device-specific configuration to the Tethering module rather than an app in its own right. The Tethering module ships as an APEX, so per-device values reach it through an overlay installed on another partition instead of by editing the module. The module declares an overlayable set named TetheringConfig, and an overlay on the product, system or vendor partition may override the values in it: the interface name patterns for USB, NCM, Wi-Fi, WiGig, Wi-Fi P2P and Bluetooth tethering, the DHCP range handed to tethered clients, the upstream selection lists, the eBPF offload switch, and the carrier hotspot entitlement and provisioning configuration. AOSP's own emulator build carries the same kind of component in device/generic/goldfish/rro_overlays/TetheringOverlay, whose manifest targets the tethering package with android:targetName set to TetheringConfig and overrides the Wi-Fi tether interface patterns. The name mirrors the module it overlays. This Google-named variant pairs with the Google-signed module com.google.android.networkstack.tethering, documented separately on this site, and the AOSP-keyed equivalent is com.android.networkstack.tethering.overlay. In our sample it is signed by the device maker's own platform key rather than by Google, across Samsung, Motorola, Xiaomi, TCL, OPPO and several smaller makes, which fits an overlay built as part of each device image. It has no launcher icon and is not user-facing. Version note: the Tethering module (com.android.tethering) is in APEX format and is available for devices running Android 11 or higher, and from Android 12 the ConnectivityService code was added to the same APEX, widening the module's scope into a connectivity module. This overlay therefore belongs to the Android 11 and later module layout. One inconsistency is worth flagging rather than smoothing over: AOSP's Tethering page states under Customization that "The Tethering module doesn't support customization", yet the same page describes overriding config_tether_enable_bpf_offload by RRO, and the module itself ships the TetheringConfig overlayable that packages of this name target. The workable reading is that the module's behaviour is not open to redefinition while its device-specific configuration is expected to arrive by overlay, but the documentation does not say so in as many words. For Android Enterprise, EMM and kiosk use it has no role in enrolment or policy. It is part of how the platform learns which interfaces on this hardware are tethering interfaces, so disabling or removing it risks breaking hotspot and USB or Bluetooth tethering rather than locking them down. To stop users sharing the connection, use the EMM's tethering and hotspot restrictions and leave this package in place.
- Tethering - Android Open Source Project →
- Change the value of an app's resources at runtime (RROs) - Android Open Source Project →
- Tethering overlayable.xml (packages/modules/Connectivity) - Android source →
- TetheringOverlay AndroidManifest.xml (device/generic/goldfish) - Android source →
- TetheringOverlay config.xml (device/generic/goldfish) - Android source →
- Package provenance for com.google.android.networkstack.tethering.overlay - Android System App Database →
Package intelligence
Observed signing, permission, version and size signals from contributing devices - descriptive of that sample, not a verdict. These come from the v2 Package Search sync, which not every device has contributed to yet, so for some packages this detail is partial or not present at all.
- Re-signed by each device maker with its own platform key - 12 different certificates appear across 8 device makers in our sample. That is the signature of a stock AOSP/system package every OEM builds and signs itself, not a single maker's or a third party's preinstall. These are platform-level keys: they also sign the Android framework itself.
- Its largest observed manifest declares 1 permissions: 1 runtime (user-granted).
- Never reported as user-facing, so it runs as a background or system component rather than an app the user opens.
Declared permissions (1)
Largest permission set observed for this package. Text is Android's own published description where one exists; platform permissions Android does not document show their granted protection level (in grey) instead; vendor or unknown constants show the name only.
| Permission | Description |
|---|---|
POST_NOTIFICATIONS |
Allows the app to show notifications |
Manage on devices
ADB commands for this package (the inverse of each is included so you can undo). Run from an authorised shell or wire the equivalent into your DPC. Verify on a test device first - this database doesn’t yet classify which packages are safe to change. --user 0 targets the current user; drop it (and use a privileged shell) to act device-wide.
/system, so Restore re-adds it (-k keeps app data)Seen on
Each record is a device profile (make + model + Android version). Each unique handset that syncs against a matching profile will increase the observations of a package, thereby increasing confidence that a package is expected to be on a device.
| OEM | Model | Android | Provenance | Observations | Last seen |
|---|---|---|---|---|---|
| ALCommon | ALCommon | Android 15 | - | 1 | 20 Jun 2025 |
| Blackview | VARG | Android 11 | - | 1 | 1 Sep 2025 |
| CUBOT | P80 | Android 13 | - | 2 | 20 Sep 2025 |
| DOOGEE | S41 Max | Android 13 | - | 2 | 3 Oct 2025 |
| Fezawio | F11_V_US | Android 15 | - | 1 | 14 Jul 2026 |
| HMD Global | Nokia G22 | Android 14 | - | 1 | 4 Dec 2025 |
| Hotwav | TAB R9 Pro | Android 14 | - | 1 | 18 Sep 2025 |
| Infinix | Infinix X6525B | Android 13 | - | 1 | 5 Dec 2025 |
| Infinix | Infinix X6871 | Android 14 | - | 1 | 21 May 2025 |
| Lenovo | Lenovo TB-7306F | Android 11 | - | 1 | 19 Jul 2025 |
| Lenovo | Lenovo TB-X6C6NBF | Android 12 | - | 1 | 15 May 2025 |
| Lenovo | TB132FU | Android 14 | - | 1 | 16 Jun 2025 |
| Lenovo | TB328FU | Android 12 | - | 1 | 15 Sep 2025 |
| Lenovo | TB570FU | Android 15 | - | 1 | 17 Jun 2025 |
| Motorola | moto g - 2025 | Android 16 | OEM Motorola | 1 | 14 Dec 2025 |
| Motorola | moto g14 | Android 13 | OEM Motorola | 1 | 19 Dec 2025 |
| Motorola | moto g24 | Android 14 | OEM Motorola | 1 | 19 Dec 2025 |
| NUU | S6707X | Android 14 | OEM NUU | 1 | 12 Jan 2026 |
| OPPO | CPH2637 | Android 15 | OEM OPPO | 1 | 2 Feb 2026 |
| OUKITEL | C59 Pro | Android 15 | - | 1 | 6 Nov 2025 |
| OUKITEL | WP28 E | Android 14 | OEM OUKITEL | 1 | 27 Jul 2026 |
| OUKITEL | WP60 | Android 15 | OEM OUKITEL | 3 | 9 Dec 2025 |
| realme | RMX2001 | Android 11 | - | 1 | 21 Aug 2025 |
| realme | RMX3627 | Android 12 | - | 1 | 20 Sep 2025 |
| Rhino | T8 | Android 14 | - | 1 | 17 May 2025 |
| Samsung | SM-A125F | Android 12 | OEM Samsung | 1 | 21 Jan 2026 |
| Samsung | SM-A135F | Android 14 | OEM Samsung | 3 | 21 Jan 2026 |
| Samsung | SM-A137F | Android 14 | - | 1 | 17 Jan 2026 |
| Samsung | SM-A236B | Android 14 | OEM Samsung | 2 | 10 Apr 2026 |
| Samsung | SM-A266B | Android 15 | - | 2 | 21 Aug 2025 |
| Samsung | SM-A266B | Android 16 | - | 1 | 26 Jan 2026 |
| Samsung | SM-A346B | Android 15 | OEM Samsung | 1 | 27 Jul 2026 |
| Samsung | SM-A515F | Android 13 | - | 1 | 30 Jun 2025 |
| Samsung | SM-A528B | Android 13 | - | 1 | 19 Jun 2025 |
| Samsung | SM-A536B | Android 15 | - | 1 | 19 Jun 2025 |
| Samsung | SM-A556B | Android 15 | - | 1 | 1 Jul 2025 |
| Samsung | SM-A566B | Android 16 | - | 2 | 4 Nov 2025 |
| Samsung | SM-F721B | Android 15 | - | 1 | 9 Jul 2025 |
| Samsung | SM-F766B | Android 16 | - | 1 | 11 Nov 2025 |
| Samsung | SM-G766B | Android 15 | - | 1 | 17 Oct 2025 |
| Samsung | SM-G780F | Android 13 | OEM Samsung | 1 | 29 Dec 2025 |
| Samsung | SM-G991B | Android 15 | OEM Samsung | 1 | 19 Apr 2026 |
| Samsung | SM-M315F | Android 12 | - | 1 | 2 Feb 2026 |
| Samsung | SM-N986B | Android 13 | - | 9 | 17 Jul 2025 |
| Samsung | SM-S721U | Android 15 | - | 5 | 5 Aug 2025 |
| Samsung | SM-S906B | Android 15 | - | 1 | 2 Jun 2025 |
| Samsung | SM-S908U | Android 16 | OEM Samsung | 1 | 27 Jul 2026 |
| Samsung | SM-S921B | Android 15 | OEM Samsung | 2 | 22 Jul 2025 |
| Samsung | SM-S921B | Android 16 | OEM Samsung | 1 | 27 Jul 2026 |
| Samsung | SM-S921U | Android 15 | - | 1 | 19 Jun 2025 |
| Samsung | SM-S926B | Android 16 | OEM Samsung | 1 | 14 Apr 2026 |
| Samsung | SM-S928B | Android 16 | OEM Samsung | 2 | 12 Jun 2026 |
| Samsung | SM-S928U1 | Android 15 | - | 1 | 12 Sep 2025 |
| Samsung | SM-S931B | Android 15 | - | 1 | 20 Sep 2025 |
| Samsung | SM-S931B | Android 16 | - | 1 | 23 Nov 2025 |
| Samsung | SM-S936B | Android 16 | - | 1 | 18 Dec 2025 |
| Samsung | SM-S937B | Android 15 | - | 1 | 25 Aug 2025 |
| Samsung | SM-S938B | Android 15 | - | 2 | 25 Aug 2025 |
| Samsung | SM-S942B | Android 17 | OEM Samsung | 1 | 25 May 2026 |
| Samsung | SM-T636B | Android 15 | - | 2 | 12 Oct 2025 |
| Samsung | SM-T976B | Android 13 | - | 1 | 21 Jul 2025 |
| Samsung | SM-X200 | Android 14 | - | 1 | 27 Aug 2025 |
| Samsung | SM-X716B | Android 15 | - | 1 | 27 Jun 2025 |
| Samsung | SM-X910 | Android 14 | - | 1 | 26 Jun 2025 |
| Samsung | SM-X910 | Android 15 | - | 1 | 12 Sep 2025 |
| Smt_hk | Helium Pro | Android 12 | - | 1 | 19 Jul 2025 |
| TCL | 6025D_EEA | Android 11 | - | 1 | 17 Sep 2025 |
| TCL | 6165H | Android 13 | - | 1 | 16 Sep 2025 |
| TCL | 9466X | Android 13 | - | 1 | 13 Jan 2026 |
| TCL | 9491G | Android 14 | - | 1 | 26 Aug 2025 |
| TCL | 9566X | Android 15 | OEM TCL | 1 | 13 Mar 2026 |
| TCL | T610K | Android 14 | - | 1 | 24 Oct 2025 |
| Ulefone | Power Armor X11 Pro | Android 12 | - | 1 | 15 Sep 2025 |
| vivo | V2550 | Android 16 | OEM vivo | 1 | 21 Jul 2026 |
| Xiaomi | 21091116UI | Android 13 | - | 1 | 8 Sep 2025 |
| Xiaomi | 24117RN76O | Android 15 | OEM Xiaomi | 1 | 28 Dec 2025 |
| Xiaomi | M2012K11AG | Android 13 | - | 1 | 1 Oct 2025 |
Known labels
Locale-aware display names seen in the wild.
| Label | Locale | Seen |
|---|---|---|
| com.google.android.networkstack.tethering.overlay | en-gb | 22 |
| com.google.android.networkstack.tethering.overlay | en-us | 15 |
| com.google.android.networkstack.tethering.overlay | en | 13 |
| TetheringResOverlay | en-us | 11 |
| TetheringResOverlay | en-gb | 7 |
| TetheringResOverlay | es-es | 5 |
| com.google.android.networkstack.tethering.overlay | it-IT | 5 |
| com.google.android.networkstack.tethering.overlay | nl-nl | 5 |
| TetheringConfigOverlay | en-us | 4 |
| TetheringResOverlay | en-US | 3 |
| com.google.android.networkstack.tethering.overlay | de-de | 3 |
| com.google.android.networkstack.tethering.overlay | en-nl | 3 |
| TetheringConfigOverlay | en-gb | 2 |
| TetheringConfigOverlay | en-GB | 2 |
| TetheringResOverlay | 2 | |
| com.google.android.networkstack.tethering.overlay | es-ES | 2 |
| com.google.android.networkstack.tethering.overlay | 2 | |
| com.google.android.networkstack.tethering.overlay | fr-fr | 2 |
| com.google.android.networkstack.tethering.overlay | it-it | 2 |
| com.google.android.networkstack.tethering.overlay | en-GB | 2 |
| com.google.android.networkstack.tethering.overlay | ru-ru | 2 |
| com.google.android.networkstack.tethering.overlay | es-es | 2 |
| TetheringConfigOverlay | en | 1 |
| TetheringConfigOverlay | en-us-u-fw-sat | 1 |
| TetheringConfigOverlay | it-it | 1 |
| TetheringConfigOverlay | ja-jp | 1 |
| TetheringConfigOverlay | ru-ru | 1 |
| TetheringResOverlay | es-US | 1 |
| TetheringResOverlay | es-MX | 1 |
| TetheringResOverlay | en-in | 1 |
| TetheringResOverlay | en-GB | 1 |
| TetheringResOverlay | es-us | 1 |
| TetheringResOverlay | es-mx | 1 |
| TetheringResOverlay | en | 1 |
| TetheringResOverlay | vi-vn | 1 |
| TetheringResOverlay | vi-VN | 1 |
| TetheringResOverlay | ru-ru | 1 |
| com.google.android.networkstack.tethering.overlay | fr-FR | 1 |
| com.google.android.networkstack.tethering.overlay | en-au | 1 |
| com.google.android.networkstack.tethering.overlay | es-us | 1 |
| com.google.android.networkstack.tethering.overlay | en-US | 1 |
| com.google.android.networkstack.tethering.overlay | fr-dz | 1 |
| com.google.android.networkstack.tethering.overlay | pl-PL | 1 |
| com.google.android.networkstack.tethering.overlay | pl-pl | 1 |