Xiaomi Redmi Note 8 is one of the most popular smartphones in the budget segment, but even years after its release, its MIUI interface can get tired of standard design. Creating a custom theme allows you not only to personalize the device to your tastes, but also to optimize the visual experience, add unique icons or even adapt the design to your corporate style. Unlike ready-made themes from the Mi Theme Store, the custom theme gives you complete control over every element from fonts to animations.
In this guide, we will take a look at the whole process, from tool preparation and design to compilation and installation of the theme on the Redmi Note 8. APK-System application files, edit XML-resources and avoid common errors that lead to interface crashes or endless loading. Special attention is paid to security โ improper manipulation of system files can lead to brick (turning the phone into a brick), so every step is accompanied by warnings and backup tips.
Important: the process requires basic knowledge of ADB, archivers, and graphics editors. If youโve never modified your firmware, start with the device preparation section and be sure to read the FAQ at the end of the article.
1. Device preparation: bootloader unlock and root rights
Before you start creating a theme, you need to prepare the Redmi Note 8 for modifications. Standard MIUI blocks changes to system files, so you will need to:
- ๐ Unlock the bootloader through the official Mi Unlock Tool.
- ๐ฑ Install custom Recovery TWRP (3.7.0 version or later for the Redmi Note 8).
- ๐ ๏ธ Get root rights with Magisk (version 26)+).
Unlocking the bootloader erases all data from the device, so be sure to back up via Mi Cloud or locally on your PC. Use the adb backup command to save apps and settings:
adb backup -apk -obb -shared -all -f backup.abโ ๏ธ Note: Xiaomi can block accounts if unlocking the bootloader is done too often (more than 1 time in 30 days). โ The phone. โ Version. MIUI (Tap 7 times to turn on the developer mode, then Settings โ Additionally. โ For developers โ Mi Unlock status).
After unlocking the bootloader, install TWRP via fastboot:
fastboot flash recovery twrp-3.7.0-ginkgo.img
fastboot boot twrp-3.7.0-ginkgo.imgIn TWRP, you can run Magisk for root rights. Download the latest version from the official GitHub repository and install it through Install โ Select Zip.
2. Selection of tools for creating a theme
To develop a custom theme, you need a set of programs and templates. Here is the minimum list:
| Tool. | Appointment | Reference |
|---|---|---|
| Apktool | Decompilation and assembly APK-system-application files | ibotpeaches.github.io |
| Android Studio | Editing XML-resources, preview of design | developer.android.com |
| GIMP/Photoshop | Creating icons, background images, UI elements | gimp.org |
| MIUI Theme Editor | Simplified editing of themes (alternative to manual assembly) | XDA Developers |
For beginners, we recommend starting with MIUI Theme Editor, which allows you to edit existing themes without deep immersion in code. Power users can work directly with framework-res.apk and SystemUI.apk, but this requires knowledge of the structure of Android resources.
Download the MIUI 12/13 theme template from the XDA or 4PDA forum. Pay attention to the Redmi Note 8 screen resolution of 2340ร1080 (FHD+). All graphic elements must be adapted to this resolution, otherwise the theme will look blurry or cropped.
๐ก
Use vector icons in.svg format โ they scale without loss of quality at any resolution. Convert them to.png at x1, x1.5, x2 resolution to support different screen densities (mdpi, hdpi, xhdpi).
Theme Structure 3: What Files Should Be Modified
The theme in MIUI consists of several key components, each of which is responsible for a specific part of the interface:
- ๐จ colors.xml โ color palette (background, text, accents).
- ๐ผ๏ธ drawable/ โ icons, background images, elements UI.
- ๐ styles.xml โ button styles, dialog windows, fonts.
- ๐ง values/ โ sizes, indentations, animations.
The main files that you will need to edit:
miui_theme/
โโโ assets/
โ โโโ fonts/ # Fonts
โ โโโ wallpapers/ # Wallpaper
โโโ res/
โ โโโ drawable/ # Icons and graphic elements
โ โโโ layout/ # Markup of system windows
โ โโโ values/ # Colors, styles, sizes
โ โโโ anim/ # Animations
โโโ AndroidManifest.xmlFor example, to change the color of the notification bar, edit the res/values/colors.xml file:
<color name="notification_panel_bg">#FF1A1A1A</color>
<color name="notification_text_color">#FFFFFFFF</color>โ ๏ธ Attention: Not all elements MIUI For example, system applications (Settings, Security) have their own resources that are redefineable only when they are decompiled. APK. For full customization, each will need to be modified. APK separately.
How to find the right resource in a decompiled APK?
4. Editing graphic elements and icons
Graphic elements are the basis of the visual style of the theme. For the Redmi Note 8, it is important to consider:
- ๐ Permission of icons: 192ร192 px (launcher), 48ร48 px (notification panel).
- ๐ญ Format:.png with transparency for icons,.9.png for stretchable elements (e.g. buttons).
- ๐ Color gamut: use it colors.xml uniformly.
Example of the structure of the folder with icons:
drawable/
โโโ ic_launcher_phone.png # Phone icon
โโโ ic_launcher_messages.png # Message icon
โโโ status_bar_background.9.png # Status Panel background
โโโ notification_panel_bg.png # The background of the notification panelTo create icons under MIUI, use templates from Flaticon or Material Icons. Pay attention to the style - MIUI traditionally uses a flat design with minimalistic shapes.
To replace the standard battery icon:
- Find it in SystemUI.apk/res/drawable file battery_*.png.
- Create your own versions with the same names (e.g, battery_100.png).
- Place them in the drawable folder of your theme.
Icons for all system applications are created|Background images adapted to resolution 2340ร1080|Colors in colors.xml design|Transparency for.png files is checked-->
5. Compilation of the theme and installation on the device
After editing all resources, you need to compile the theme to.mtz format (standard for MIUI Theme Store).
- Pack all the files in. ZIP-file-book theme_name.mtz.
- Place the archive in /sdcard/MIUI/theme/ folder on your phone.
- Reboot the device and apply the theme through Settings โ Theme โ Local.
If the topic does not apply or errors occur, check:
- ๐ Correct folder structure (must match the template) MIUI).
- ๐ Availability of all mandatory files (description.xml, preview.png).
- ๐ ๏ธ Access rights (files must be readable for all users).
To install via TWRP (if the theme modifies system APKs):
- Create Flashable-ZIP with MIUI Theme Flashable Zip Creator.
- Sweat ZIP through TWRP โ Install.
- Clear the cache (Wipe) โ Cache/Dalvik).
โ ๏ธ Warning: If after installing the theme, the phone is stuck on startup the Redmi logo, restart to the TWRP and delete the theme file from /data/system/theme/. This indicates a resource conflict or incorrect access rights.
๐ก
Always test the theme on a system backup or a second device. Some modifications (such as a change in framework-res.apk) can lead to a bootloop.
Typical errors and their solution
When creating custom themes, users often face the following problems:
| Mistake. | Reason. | Decision |
|---|---|---|
| The topic does not appear on the list | Incorrect.mtz structure or missing description.xml | Check the theme template and file rights (chmod 644) |
| Icons are displayed blurry | Resolution mismatch (e.g. icons for mdpi on xhdpi) | Reassemble the icons in the correct resolution (192ร192 for launcher) |
| Colors do not apply | System Style Conflict or Error in colors.xml | Check XML Syntax and Style Priority |
| Bootloop after installation | Modification of critical system files (e.g. framework-res.apk) | Restore original files via TWRP or reflash the firmware |
If the theme applies but some elements remain standard, check:
- ๐ Overdefined resources (e.g., SystemUI can ignore external styles).
- ๐ Is the version compatible? MIUI with your topic (themes for MIUI 12 may not work on the MIUI 14).
- ๐ง Are there additional patches (e.g, MIUI Mix for deep customization).
For debugging, use logcat:
adb logcat | grep -i "theme"This will help to identify errors in resource loading.