Independent tech desk · no vendor sponsorshipPractical answers, not release notes
Numix Desk for the Linux desktop, open source and the machines we use every day

AndroidWhat To Do If X Failed

Why an Android Icon Pack Only Works on Some Launchers

Which launchers support packs, what happens to unmapped applications, and how to map one by hand

Customized Android 16 Home Screen
Photo: Pikalab / Wikimedia Commons · CC0

When you install an Android icon pack, it only changes your home screen if your launcher can read the pack’s mapping files and display its theme engine. The built-in launchers that ship with each model of phone generally lack this feature, so all the icons look the same as before, and if you're on Pixel Launcher, AOSP Launcher, Huawei Launcher, Sony Launcher / Xperia Launcher, or Samsung One UI Home, installing an icon pack is a wasted gesture until you switch to a launcher that honors icon packs or you manually map some apps to their icons.

Built-in Android launchers generally do not provide support for icon packs. If a built-in launcher does not support the icon-pack format used by Icon Pack Studio, icon packs created or downloaded with it cannot be used. The problem can be solved by installing a third-party launcher from the Play Store.

The icon packs that work do not work by magic. Inside the pack is a manifest file that declares the filters for which launchers it can target with intent filters, and an appfilter.xml file that maps drawable assets to the apps that should be representing them at the unchanged scale, in the home-screen grid. In that file, each app definition has a component field that reads <item component="ComponentInfo{com.package.name/com.package.name.ActivityName}" drawable="icon_name"/>, where com.package.name is that app's Java package name, and com.package.name.ActivityName is the main launcher activity name used to wake that app from a shortcut. Whether a launcher honors that mapping is a secondary feature after declaring support with the intent filters in the manifest.

Most launchers ignore the ActivityName, because it's not usually necessary, but it still has to be in the component name if the pack is going to be picked up at all. It should not be left out when mapping individual apps. Many icon-pack developers include an XML import tool in their editor, but if you need to manually map an icon to an app by hand, you collect the ComponentInfo string string for that app using an app like Applications Info, and try both with and without the ActivityName. Some launchers behave more reliably if the activity is listed, but many do not use that detail at all.

The third-party launchers that typically honor icon packs include Nova Launcher, Niagara Launcher, Action Launcher, Lawnchair Launcher, Hyperion Launcher, Microsoft Launcher, Total Launcher, Apex Launcher, and Smart Launcher 6.

The story so far is that the icon-pack feature is a feature of the launcher, and unlike the alternate icon assets offered by themed OEM launchers, you need to be running a launcher that knows how to respect this pack system first, which obligations most stock launchers do not fulfill. Pixel Launcher, AOSP Launcher, Huawei Launcher, Sony Launcher, and Samsung One UI Home are all among the launchers that typically do not show any effect from installing an icon pack, unless it is listed as compatible, which compatibility can then vary by pack or launcher.

Icon Pack Studio lists compatible launchers including Nova Launcher, Niagara Launcher, Action Launcher, Lawnchair Launcher, Hyperion Launcher, Microsoft Launcher, Total Launcher, Apex Launcher, and Samsung One UI Home, but it also adds Pixel Launcher, AOSP Launcher, Huawei Launcher, Sony Launcher, and Samsung One UI Home in its compatibility list, which is pack- and launcher-dependent. A Google Play listing for an icon pack states that supported launchers are pack-specific and names launchers such as Action Launcher, ADW Launcher, Apex Launcher, Lawnchair 2, Nova Launcher, Smart Launcher, and others. Another Google Play icon-pack listing says icon packs “may also work with others, but that’s not guaranteed” after listing launchers including Apex, Aviate, Action, Go Launcher Z, Holo, Hyperion, Lawnchair, Miui Launcher, Nova Launcher, Poco Launcher, and Smart Launcher 6, but this is not expected to be a final list, and is notorious for varying between packs and between app updates.

The rationale lies in the underlying metadata used to apply an icon pack. The launcher must be able to open and parse the XML files included with the icon pack, but even once it is, it's not guaranteed to automatically map all the apps the pack contains, unless it has pre-mapped that pack, or unless the pack has mapped that launcher as a known pack target, or both. If you find an app is not fitting its new icon on your home screen, you can use an app such as Applications Info to collect the package name and the main activity name of the app, and add it manually to the icon-pack project with that component string in XML. It may take a few cycles of Launcher restart to change the icon, or it may have no effect. If you don’t see an icon on your home screen from the pack, consider installing an icon theme-specific launcher that supports that pack, or replacing your icon pack with one that claims compatibility with your current launcher.

Naturally, is irrelevant for icon packs, at least when all those apps fit a universal standard that is not associated with the Clear branding or even a service that is. Icons,, and are often unnecessary for a UI cycle that many icon packs expect to simplify, though some icon suppliers may be going too far in the opposite direction with collections of often-untested, often-unmapped icon packs that do not fit any expectation except generated name-drawable mappings. An icon-pack listing on Google Play says icons may also work with other launchers beyond the supported list, but that is not guaranteed, and the Built-in OEM launchers are specifically noted, which means the majority of launchers. The issue is that there’s often an expectation that an icon pack will be able to work on any launcher, and that expectation may be false, regardless of support functions provided by the launcher.

Ultimately, an icon pack is a collection of XML and drawable files for theming the home-screen shortcuts on a launcher that knows how to request them from the system. The file that works only includes the drawables for the apps that paid for them, so it always varies, and the list of icon names in that array is obsolete until it’s not, and the list of names an icon pack cares about may also be obsolete. In conclusion, an icon pack is no guarantee, or even a reflection of system capability or scripting power. It’s a themed list of app names, and it’s of zero use unless it’s built, packaged, and delivered as a document that the launcher can open, parse, and respect for all its icon-loaded home screens.

What does this mean for users? It means you must check your launcher documentation for icon-pack support, and find an icon pack that supports your launcher, and if no such arrangement of vendors is within your budget or cross-compatibility, you can always use your launcher’s built-in icon-folder or icon-rendering system, which may in the end be a more reliable find-and-save tool to catalog those apps and collections of apps that get the most use in your daily workflow, than an icon pack is to thematically sort and visually represent them.

More from the desk