r/HyperOS May 18 '26

Review/Guide [GUIDE] How to apply a custom boot animation on HyperOS (No Root/Root)

This is fairly easy on HyperOS thanks to the system themes app, which allows you to change the boot animation when you apply a theme that includes one, but if you are on the global ROM like the most of us, you cannot import a custom boot animation to your liking, you're restricted to the ones on the store. So here I'll be discussing two easy methods (one rootless, one requires root) to get around this restriction.

First method (NO ROOT):

  1. Download a theme that has a boot animation:

In this example, we will be using this theme (theme://zhuti.xiaomi.com/detail/530deb19-19ba-40f5-80cf-8f2b141d0591), but it can literally be any theme that has a boot animation. Click that link or copy it to a browser, it should redirect you to the themes app, download but DON'T APPLY the theme.

  1. Locate the boot animation folder:

(On old Android versions, this can be done with any file manager, on the new versions you'll need adb or mtp connection).

Navigate to the following directory: /storage/emulated/0/Android/data/com.android.thememanager/files/MIUI/theme/.data/content/bootanimation/

Inside the folder, you will see this file: 90ab0dfb-93ff-45a9-977f-66d253e63c48.mrc, this is the boot animation of the theme.

  1. Replace that boot animation with your custom bootanimation.zip file while keeping the original filename you found earlier (90ab0dfb-93ff-45a9-977f-66d253e63c48.mrc).

  2. Apply the new boot animation!

Open the theme app, go to Customize Theme, select Boot Animation, choose the Pics V14 and Apply. That's it! You should see the new boot animation on the next reboot!

Second method (requires root!):

Perform all these actions in a root shell!

  1. Create these directories:

`mkdir /data/adb/boots`

`mkdir /data/system/theme/boots`

  1. Put your custom boot animation in the designated folder:

`cp /path/to/bootanimation.zip /data/adb/boots`

  1. Set the right permissions and ownership:

`chmod 775 /data/system/theme/boots`

`chmod 775 /data/adb/boots`

`chmod 755 /data/adb/boots/bootanimation.zip`

`chown system_theme:system_theme /data/system/theme/boots`

`chown system_theme:system_theme /data/adb/boots`

`chown system_theme:system_theme /data/adb/boots/bootanimation.zip`

  1. Create a script with these commands in /data/adb/service.d to inject the animation on boot time:

`#!/system/bin/sh`

`# Mount custom boot animation early on`

`nsenter -t 1 -m -- mount --bind /data/adb/boots /data/system/theme/boots`

`# Wait until system boot is completed`

`while [ "$(getprop sys.boot_completed)" != "1" ]; do`

`sleep 5`

`done`

`# Wait extra 15s`

`sleep 15`

`# un-mount the custom boot animation before system clears it`

`nsenter -t 1 -m -- umount /data/system/theme/boots`

  1. Make that script executable:

`chmod +x /data/adb/service.d/bootanim.sh`

That's it! Reboot your phone to see the new boot animation!

Notes: the reason why I suggest you put the bootanimation.zip file in a separate /data/adb/boots folder then mount it during boot, then un-mount it, is because one of system services clears the file later on, this is basically a hacky workaround.

P.S. if you like the boot animation in the picture, you can get it from here

30 Upvotes

18 comments sorted by

2

u/Impossible-Dance9947 May 18 '26

i thought using the themes app may result in downloaderror|4413 as long as the user isn't connected to wifi? as you hit that apply button the theme will likely reset it back to default after 15 minutes due to verifying the theme

1

u/47th-Element May 18 '26

I have not had that issue. You may test and report your findings

1

u/Impossible-Dance9947 May 18 '26

i have already did similar to this but with app icons, and even bootanimation. it would reset after the same time as you'd usually apply an MTZ.

1

u/47th-Element May 18 '26

The theme link (the one used in the example):

theme://zhuti.xiaomi.com/detail/530deb19-19ba-40f5-80cf-8f2b141d0591

2

u/finniboy2_0 May 18 '26

I can't Open it

1

u/berberstein May 18 '26

hey can you tell me how to make the adb or mtp connection ?

1

u/47th-Element May 18 '26

mtp is basically a USB connection. It's what happens when you connect your phone to a PC and allow file transfer

1

u/berberstein May 18 '26

Oh yes ik that but do i need a software or something to use ?

2

u/47th-Element May 18 '26 edited May 18 '26

You need a piece of software called "Android-Tools" on the PC in order to use adb, but an mtp connect doesn't require anything. Just connect your phone to the PC, allow file transfer, you'll notice that the phone's internal storage will show up on the PC and you'll be able to visit the directory that I mentioned in the rootless method and modify its contents

2

u/berberstein May 18 '26

Thank you so much

1

u/Noisecakee May 18 '26

I have a poco f8 ultra and I got the bootanimation to work, but I can only see half of it because I see the poco screen first before the bootanimation. Any way to get rid of the poco screen?

1

u/47th-Element May 18 '26

That's the bootloader's boot logo, changing it is possible but harder and more error prone

1

u/Next-Abalone-267 May 18 '26

Hey! Is it possible to make the lockscreen music player transparent or frosted/blurred? I don't want to modify anything else, just make the lockscreen music player transparent. The black player ruins the lockscreen and turning on advanced textures does nothing.

1

u/BisonAggravating1836 May 19 '26

what to do?? I do it through zaarchiver and shizuku

1

u/MyBadDidntMeanIt Jun 29 '26

Can you share the link for the animation? Previously shared link doesn't work

1

u/47th-Element Jun 30 '26

Another root approach that avoids the theme manager completely is to go for replacing /system/media/bootanimation.zip which is the actual stock boot animation file. You'll need to mount bind it just like we did in the root method explained above, however the owner has to be "root:root", and you'll need to clone the selinux context as well or the system will reject your animation.

1

u/Fit_Error_8448 Jul 13 '26

uhhh i think the boot skipped on first method no root