Here’s a nifty trick I’m going to show you – how to change the battery charging animation when your phone is turned off. This is a bit technical though, it’s not as simple or customizable as your boot animation. In fact, this is quite a risky procedure, as the battery charging animation is deeply embedded in the /system, and while this is a universal guide, each Android manufacturer may treat the battery animation differently. Thus I will address different methods for different phones.
NOTE: It is virtually impossible to change Samsung charging animations, as they rely on deeply complex Kernel instructions, and proprietary .QMG file types that are converted into ShadowProtect .SPI files. Thanks as always, Samsung.
MT65xx / MT67xx phones (Mediatek chipset)
You’ll want to download the LogoBuilder software for MT65xx devices. This software will unpack/repack your logo.bin file which contains the first boot screen (not your boot animation, but the first boot screen which is typically the device manufacturer’s logo) and the battery charging images.
So after you download the LogoBuilder software to your computer, you’ll need to get the logo.bin file from your phone. There are two ways to accomplish this. You can either download an original firmware file for your device to your computer, and grab the logo.bin file from inside there.
Alternatively, you can use the following ADB command (see: How to Install ADB on Windows) to pull logo.bin directly from your phone onto your computer, over USB connection:
dd if=/dev/logo of=/sdcard/logo.bin bs=3145728 count=1
Once you’ve obtained the logo.bin file for your phone, launch LogoBuilder and click the “Create project” button, and choose the logo.bin file you obtained.
Now you can edit the images to your liking – for maximum compatibility, make sure you use the same image filetypes / dimension sizes as the originals. Basically do not replace a 540×960 .png with a 1080×1920, for example.
When you’re done editing the images, click the “Make” button in LogoBuilder, which will create a new logo.bin and update.zip files. You can either flash the logo.bin with a flashing tool, like SP Flash Tool, or you can flash the update.zip via custom recovery like TWRP. Do not do both. Choose one or the other.
Change battery animation in CM12 Lollipop and CM13 Marshmallow ROMs
If your phone is running the CyanogenMod custom ROM, here’s a way to change the battery animation via script. First you will need to download all of the default battery .pngs HERE and edit them to your liking.
It’s very important to take the following notes:
- The battery_?.png and battery_charge files are deprecated in 6.0, and replaced by png (multi surface image) with mandatory 6 frames (hardcoded in Android). To make Battery-Images-Replacer work with previous Android versions, the deprecated files are kept; and
- The block device in sh file needs to be generalized to work in i9300 (my case) and maybe others, so it was replaced at line 9 with: block=`find /dev/block/platform -name BOOT`;
But the catch is the creation of the new battery_scale.png file. In this case, we have the 6 single surface images (battery_?.png files) and want to make a “Multi Surface Image” file compliant with Android 6.0.
There is a script to do most of the dirty work, but it has requirements. You will need:
Now I am providing the .sh script HERE. This script must either be ran from a Linux terminal, or in Windows with Cygwin installed.
Once the battery_scale.png is created, you need to copy it to the Battery-Images-Replacer-ak-opo-anykernel/charger/ directory if you didn’t run the script there. Go to the base directory (Battery-Images-Replacer-ak-opo-anykernel) and run “zip -r ../Battery-Images-Replacer.zip .” and you should get the flashable zip file at the parent directory.
Now transfer the zip file to your phone (adb push, usb file transfer, etc.) and make sure that the file is available to TWRP ou CWM. Boot into recovery and flash the zip file. Turn off the phone and start charging. Enjoy your new battery animation.
Sony Xperia devices
Extremely easy. Just look inside /system/semc/chargemon/data for the battery charging .PNG files. You can then edit or replace them with your own .PNG files, just be sure to use the same image dimensions as the originals.
Very easy, but you’ll need software that can either edit .RLE files, like latest Photoshop CC 2017, or software that can convert .RLE to .PNG and back again.
But basically just copy all of the .RLE files from /system/media/zchgd and edit them using software I mentioned above, then replace the old files.