FAQ

Questions answered, including the ones where Android says no.

Does it need root?

No. It uses documented Android APIs:

  • ShortcutManager for renames and icons
  • Settings.Global and Settings.System for values
  • AudioManager for sound
  • UiModeManager for the theme on Android 12+
  • DeviceAdminReceiver for app freezer
  • WorkManager for background tasks
Can it really repaint another app's icon?

No, and any app saying otherwise is lying. Android does not let one app repaint another's icon. Chameleon creates a launcher shortcut with your label and icon, which looks identical in every launcher that honours pins.

Why does hibernation just open Settings?

Because PackageManager.setHibernated is hidden from the public SDK, so no app is allowed to call it. Rather than ship a switch that silently does nothing, the button opens the real system screen where the change can actually be made.

How do you know I subscribed?

We don't. YouTube offers no way for any app to confirm that, and finding out would mean reading your Google account. What is checked is that you left for the channel and came back.

What happens when the key expires?

It is deleted from storage and the key screen returns. Visiting the channel again gives you a fresh three days.

How do extensions work?

Settings has an "extend +1 day" button, seven times, so a key can reach ten days. A new key resets the counter.

Can someone reuse my key?

No. It is derived from your device ID and will not validate on another phone. The nonce inside it only makes each one different, it does not weaken that.

Is anything sent to a server?

Your device ID and the signed link token, when you ask for a key. Plus a check-in that counts installs for the stats page. Nothing else. Your settings never leave the phone.

What if Android says "invalid package"?

1. Truncated download — An interrupted download leaves a partial file. Delete it and download again; look for a leftover .crdownload.

2. A web page saved as .apk — A real APK starts with the bytes 50 4B 03 04 ("PK"). A web page starts with .

3. Play Protect blocked it — Google flags unfamiliar sideloaded apps. Tap More details then Install anyway.

4. Signature mismatch — Only if an older Chameleon came from a different key. Uninstall first. Your key is bound to the device ID, not the install.

Why is the APK unsigned / not on Play Store?

Chameleon uses device-bound keys and a channel trip gate that Google Play policies don't accommodate. It's signed with a debug keystore (consistent across updates) and distributed via GitHub Releases with published SHA-256 hashes.

Can I use my own icon pack?

Yes. Chameleon supports standard Android icon pack format (AdaptiveIcon + bitmap fallback). Long-press any app → Edit → choose from installed packs.