TWRP Themes (Nexus 5)

TWRP is a recovery image for Android devices. That is, it’s a tiny, self-contained operating system that you can boot to (often, by holding a button while booting the device) and perform operations such as backups, restores and installation of other images. One nice feature of TWRP is that it’s quite flexibly themeable; the theme’s aren’t just re-colours, you can move buttons around quite a bit.

Now, most of the instructions I’ve seen for installing a theme consist of the following:
* In the root of your SD card, find the TWRP folder
* Within that, create a folder theme.
* Within that, store the theme zip as ui.zip.

However, the Nexus 5 (and, I suspect, quite a few modern android devices) don’t come with a real SD card. Instead, that feature is emulated (in a variety of fun and interesting ways, to cope with how the SD card has been presented over history). So /sdcard is a symlink to /storage/emulated/0/, there’s also /storage/emulated/legacy/data/media/0… and so on.

This last path is actually the most interesting. For some reason, /storage doesn’t show up within TWRP, so the file I’d created was there in /data/media/0/TWRP/theme/ui.zip. And yet, no matter which theme I downloaded, I couldn’t get anything but the default theme.

Then, I was having a browse around in the TWRP file manager and spotted /data/media/TWRP. Note the missing 0. This is, as far as I can tell, a level above the SD card, so it’s probably actually on the root file system (or /data, perhaps). I created /data/media/TWRP/theme and, from my laptop did adb push ~/my_new_theme.zip /data/media/TWRP/theme/ui.zip.

Lo and behold, after reloading the theme once more, my new theme showed up.

So, just a heads up that if you’re not able to install themes for TWRP, try putting them into /data/media/TWRP/theme/ui.zip.

Bookmark the permalink.

Comments are closed.