# Compatibility Issues with Specific Android Device Manufacturers in UAD-ng

> Discover UAD-ng's compatibility database. Find known issues with Huawei, Xiaomi, Samsung, Motorola, and LG before debloating Android system apps. Prevent breakage and OTA update failures.

- Repository: [Universal-Debloater-Alliance/universal-android-debloater-next-generation](https://github.com/Universal-Debloater-Alliance/universal-android-debloater-next-generation)
- Tags: how-to-guide
- Published: 2026-06-18

---

**UAD-ng maintains a curated database of Android packages that tracks known compatibility issues across major manufacturers like Huawei, Xiaomi, Samsung, Motorola, and LG, warning users before they disable proprietary system apps that could break critical functionality or prevent OTA updates.**

Universal Android Debloater Next Generation (UAD-ng) is an open-source tool designed to remove bloatware from Android devices, but the repository explicitly documents **compatibility issues with specific Android device manufacturers** that can arise when disabling OEM-specific system packages. Because manufacturers like Huawei, Xiaomi, and Samsung modify the pure AOSP implementation with proprietary services, removing these packages can cause crashes, missing features, or failed system updates. The project mitigates these risks through a comprehensive package list and runtime detection mechanisms.

## Documented Manufacturer-Specific Compatibility Risks

The [`resources/assets/uad_lists.json`](https://github.com/Universal-Debloater-Alliance/universal-android-debloater-next-generation/blob/main/resources/assets/uad_lists.json) file serves as the central registry for package metadata, including detailed compatibility warnings for specific OEMs. The following manufacturers have documented high-risk packages that should not be disabled without understanding the consequences:

- **Huawei**: The `com.huawei.hwservices` package provides Huawei Mobile Services (HMS). Disabling this breaks HMS-dependent apps and core device functionality [see *resources/assets/uad_lists.json* lines 2166-2174].

- **Xiaomi**: The `com.xiaomi.market` package shares the same package name as the AOSP Play Store on some builds. Removing it can break the default app installer and software distribution system [see *resources/assets/uad_lists.json* lines 3150-3166].

- **Samsung**: The `com.samsung.android.app.share` package is required for Samsung Share features. Disabling this prevents app-to-app sharing functionality [see *resources/assets/uad_lists.json* line 30964].

- **Motorola**: The `com.motorola.motodisplay` package implements the "Always-On Display" feature. Disabling this breaks the ambient display functionality [see *resources/assets/uad_lists.json* line 4334].

- **LG**: The `com.lge.lifebehavior` package contains services required for device setup and OTA updates on legacy devices [see *resources/assets/uad_lists.json* line 4070].

- **Generic CTS Packages**: Packages matching `com.android.cts.**` (Compatibility Test Suite) are used by manufacturers for device validation. Removing these can interfere with OTA update verification and manufacturer-provided compatibility checks [see *resources/assets/uad_lists.json* lines 8365-8369].

## How UAD-ng Detects OEM-Specific Behavior

UAD-ng does not rely solely on static documentation. The application implements runtime detection of OEM-specific ADB error messages through the `uad_core::sync::detect_cross_user_behavior` function, as implemented in [`crates/uad-core/src/sync.rs`](https://github.com/Universal-Debloater-Alliance/universal-android-debloater-next-generation/blob/main/crates/uad-core/src/sync.rs). When a package state change triggers unusual cross-user behavior—common with manufacturer-modified Android builds—the system generates a user-facing warning.

The detection flow works as follows:

1. **Package-State Verification**: After toggling a package, the GUI calls `uad_core::sync::detect_cross_user_behavior` from [`crates/uad-gui/src/views/list.rs`](https://github.com/Universal-Debloater-Alliance/universal-android-debloater-next-generation/blob/main/crates/uad-gui/src/views/list.rs) (lines 1077-1089).

2. **OEM-Specific Detection**: The function inspects ADB error messages for patterns known to be OEM-specific.

3. **UI Rendering**: The application displays a modal warning: "This is unusual behavior that may be specific to your device manufacturer (OEM)."

```rust
// crates/uad-gui/src/views/list.rs (excerpt)
let error_modal = uad_core::sync::detect_cross_user_behavior(
    &pkg_name,
    device.adb_id.as_str(),
    user_id,
    wanted_state,
    actual_state,
    &device,
    &before_cross_user_states,
)
.map(|notification| {
    format!(
        "Cross-User Behavior Detected:\n\n{notification}\n\n\
        This is unusual behavior that may be specific to your device manufacturer (OEM). \
        The package state has been successfully changed on the target user."
    )
});

```

## The Package List Database

The [`resources/assets/uad_lists.json`](https://github.com/Universal-Debloater-Alliance/universal-android-debloater-next-generation/blob/main/resources/assets/uad_lists.json) file contains a *description* field that explicitly flags packages "required for compatibility" or that "may break [functionality] if disabled." When the UI loads these entries, the description surfaces in the details pane, alerting users before they take action.

```json
// resources/assets/uad_lists.json (excerpt)
{
  "package": "com.android.cts",
  "description": "Compatibility Test Suite – Used by manufacturer to test your copy of the device for performance. Disabling may interfere with OTA updates."
}

```

This approach ensures that users cannot accidentally disable critical OEM infrastructure without explicit warning, addressing the "weird things OEMs do" documented in the project's [`README.md`](https://github.com/Universal-Debloater-Alliance/universal-android-debloater-next-generation/blob/main/README.md).

## Summary

- **Universal Android Debloater Next Generation** tracks known **compatibility issues with specific Android device manufacturers** in a centralized JSON database.
- Major manufacturers including Huawei, Xiaomi, Samsung, Motorola, and LG implement proprietary packages that break core functionality when disabled.
- The `uad_core::sync::detect_cross_user_behavior` function in [`crates/uad-core/src/sync.rs`](https://github.com/Universal-Debloater-Alliance/universal-android-debloater-next-generation/blob/main/crates/uad-core/src/sync.rs) provides runtime detection of OEM-specific ADB behaviors.
- The UI displays explicit warnings when users attempt to disable packages marked as required for compatibility in [`resources/assets/uad_lists.json`](https://github.com/Universal-Debloater-Alliance/universal-android-debloater-next-generation/blob/main/resources/assets/uad_lists.json).
- Removing Compatibility Test Suite (CTS) packages can prevent OTA updates on any manufacturer device.

## Frequently Asked Questions

### What happens if I disable a package with known manufacturer compatibility issues?

Disabling OEM-specific packages like `com.huawei.hwservices` or `com.motorola.motodisplay` can immediately break dependent features such as Huawei Mobile Services or Always-On Display. According to the source code in [`resources/assets/uad_lists.json`](https://github.com/Universal-Debloater-Alliance/universal-android-debloater-next-generation/blob/main/resources/assets/uad_lists.json), some packages also prevent future OTA updates or cause system instability.

### Which Android manufacturers have the most documented compatibility issues?

The UAD-ng database shows extensive proprietary customization from **Huawei**, **Xiaomi**, **Samsung**, **Motorola**, and **LG**. Huawei and Xiaomi entries particularly note cross-dependencies with mobile services and app stores, while Samsung packages often tie into system-wide sharing frameworks.

### How does UAD-ng prevent accidental removal of critical OEM packages?

The application implements a two-layer protection system: static warnings in [`resources/assets/uad_lists.json`](https://github.com/Universal-Debloater-Alliance/universal-android-debloater-next-generation/blob/main/resources/assets/uad_lists.json) that display in the package description, and dynamic detection via `uad_core::sync::detect_cross_user_behavior` in [`crates/uad-core/src/sync.rs`](https://github.com/Universal-Debloater-Alliance/universal-android-debloater-next-generation/blob/main/crates/uad-core/src/sync.rs) that monitors for OEM-specific ADB error patterns during runtime operations.

### Can I safely remove CTS (Compatibility Test Suite) packages from any device?

No. As documented in [`resources/assets/uad_lists.json`](https://github.com/Universal-Debloater-Alliance/universal-android-debloater-next-generation/blob/main/resources/assets/uad_lists.json) lines 8365-8369, removing `com.android.cts.**` packages interferes with manufacturer validation checks required for OTA updates. These packages exist across all manufacturers and serve as system integrity verification tools.