Complete step-by-step guide to flash the latest Android 17 with official Google Play Services on the Xiaomi Redmi Note 7 (codename:
lavender, Snapdragon 660).
- Overview
- What You Get
- Prerequisites
- Downloads
- Step-by-Step Installation Guide
- Post-Install Verification
- Troubleshooting
- Restoring to Stock MIUI
- Technical: Retrofit Dynamic Partitions
- Credits
This guide documents the complete process of installing Evolution X 17.0 (Android 17) with official Google Play Services on the Xiaomi Redmi Note 7 (lavender). The Redmi Note 7 uses Retrofit Dynamic Partitions, which requires a specific flashing procedure different from standard A/B or A-only devices.
| Property | Value |
|---|---|
| Device | Xiaomi Redmi Note 7 |
| Codename | lavender |
| SoC | Qualcomm Snapdragon 660 (SDM660) |
| Architecture | arm64-v8a |
| Partition Scheme | Retrofit Dynamic Partitions |
| ROM | Evolution X 17.0 (Vanilla, Unofficial) |
| Android Version | 17 |
| Build ID | CP2A.260605.016 |
| Security Patch | 2026-08-01 |
| GApps | MindTheGapps 17.0.0 (arm64) |
- β Android 17 β Latest Android with Material You 3.0 Expressive
- β Google Play Store β Official, fully functional
- β Google Play Services β SMS Retriever API for banking OTP auto-fill
- β Google Account Sync β Gmail, Drive, Photos, Chrome, YouTube
- β Play Protect Certified β Banking apps work without security warnings
- β OTA-ready Recovery β Built-in recovery matching the ROM
- Xiaomi Redmi Note 7 (
lavender) with unlocked bootloader - USB data cable (not charge-only)
- Windows PC (10/11)
β οΈ WARNING: This process will wipe all data on your phone. Back up everything first.
| File | Size | Source |
|---|---|---|
EvolutionX-17.0-*-lavender-*-Vanilla-Unofficial.zip |
~1.87 GB | Evolution X / XDA Forums |
MindTheGapps-17.0.0-arm64-*.zip |
~547 MB | MindTheGapps / GitHub |
β οΈ IMPORTANT: GApps version MUST match Android version! Android 17 ROM β MindTheGapps 17.0.0 only. Wrong version = no Google services.
1. Fastboot β Flash boot.img, recovery.img, vbmeta.img
2. Recovery β Factory Reset / Format Data
3. Recovery β Sideload ROM (Evolution X 17.0)
4. Recovery β Sideload GApps (MindTheGapps 17.0.0) β WITHOUT rebooting!
5. Recovery β Factory Reset / Format Data
6. Recovery β Reboot System
β οΈ GApps MUST be flashed immediately after the ROM, before the first boot.
If already unlocked, skip to Step 2.
- Enable Developer Options:
Settings β About Phone β Tap "MIUI Version" 7 times - Enable OEM Unlocking:
Settings β Developer Options β OEM Unlocking - Apply at Xiaomi Unlock (7-day wait)
- Use Mi Unlock Tool to unlock
- Power off the phone
- Hold Power + Volume Down for 7-10 seconds
- Release when FASTBOOT bunny logo appears
- Connect USB cable
.\fastboot.exe devices
# Expected: 621b22e2 fastboot
β οΈ You MUST use the recovery from inside the ROM zip, NOT TWRP or OrangeFox. Third-party recoveries don't support this device's Retrofit Dynamic Partitions.
Extract images from ROM:
tar.exe -xf EvolutionX-17.0-*-lavender-*-Vanilla-Unofficial.zip recovery.img boot.img vbmeta.imgFlash and boot into recovery:
.\fastboot.exe flash boot boot.img
.\fastboot.exe flash recovery recovery.img
.\fastboot.exe flash vbmeta vbmeta.img
.\fastboot.exe reboot recoveryExpected output:
Sending 'boot' (65536 KB) OKAY [ 1.654s]
Writing 'boot' OKAY [ 0.403s]
Sending 'recovery' (65536 KB) OKAY [ 1.654s]
Writing 'recovery' OKAY [ 0.442s]
Sending 'vbmeta' (8 KB) OKAY [ 0.005s]
Writing 'vbmeta' OKAY [ 0.001s]
Rebooting into recovery OKAY [ 0.000s]
On the phone's recovery screen:
- Volume Down β
Factory resetβFormat data / factory resetβ Confirm - Back to main menu
Apply updateβApply from ADBβ Power Button
On PC:
.\adb.exe sideload EvolutionX-17.0-*-lavender-*-Vanilla-Unofficial.zipIf "Signature verification failed" appears β Select Yes
Wait for completion (~2-3 minutes):
Total xfer: 0.98x β This is normal and successful!
- If signature verification prompt appears β Yes
Apply updateβApply from ADB- On PC:
.\adb.exe sideload MindTheGapps-17.0.0-arm64-*.zipTotal xfer: 1.00x β 100% success!
Factory resetβFormat data / factory resetβ ConfirmReboot system now- If "Previous boot failed" warning β Yes (harmless stale log)
- π First boot takes 2-3 minutes
- π Setting a PIN for the first time may trigger one automatic reboot (data encryption). Just go through setup again β it won't reboot the second time.
# Verify Google packages
.\adb.exe shell "pm list packages | grep -iE 'google|gms|vending'"
# Expected:
# package:com.google.android.gms (Play Services)
# package:com.android.vending (Play Store)
# package:com.google.android.gsf (Services Framework)
# Verify system info
.\adb.exe shell "getprop ro.build.version.release" # β 17
.\adb.exe shell "getprop ro.product.model" # β Redmi Note 7β "ERROR: This recovery does not support retrofit dynamic partitions"
Cause: Using TWRP/OrangeFox recovery.
Fix: Use the recovery.img from inside the ROM zip. See Step 3.
β Google Play Store missing after boot
Cause: Wrong GApps version (e.g., 16.0.0 for Android 17).
Fix: Reboot to recovery, sideload correct MindTheGapps 17.0.0, factory reset, reboot.
β Stuck on "MIUI" / "Redmi" splash screen
Cause: Stock MIUI can't parse dynamic partition tables created by custom ROMs.
Fix: Force Fastboot (Power + Vol Down 10s), flash matching boot/recovery from custom ROM.
β Phone reboots when setting PIN during setup
Cause: Normal β Android encrypting data partition on first PIN set.
Fix: Go through setup again. Works normally on second attempt.
β "Total xfer: 0.00x" during sideload
Cause: Recovery not in ADB Sideload mode.
Fix: Select Apply update β Apply from ADB on phone first.
β "Failed to mount" errors in recovery
Cause: Normal after format/wipe.
Fix: Ignore β doesn't affect installation.
- Download official MIUI Fastboot ROM from Xiaomi Firmware Updater
- Install Mi Flash Tool
- Boot phone to Fastboot (Power + Vol Down)
- Flash with Mi Flash Tool (
flash_all.batrewrites all partitions)
β οΈ NEVER re-lock bootloader while a custom ROM is installed. Restore stock MIUI first, then re-lock.
The Redmi Note 7 shipped with Android 9 using fixed partitions. Modern ROMs implement Retrofit Dynamic Partitions:
ββββββββββββββββββββββββββββββββββββββββββββββββ
β Physical Storage β
ββββββββββββββββββββββββββββββββββββββββββββββββ€
β super_dummy.img β Virtual Super Partition β
β ββββββββββββββββββββββββββββββββββββββββββββ β
β β dm-0: system (1.0 GB) β β
β β dm-1: vendor (from physical) β β
β β dm-2: product (2.2 GB) β GApps β β
β β dm-3: odm (dynamic) β β
β β dm-4: system_ext (1.0 GB) β β
β ββββββββββββββββββββββββββββββββββββββββββββ β
β dynamic_partitions_op_list (layout config) β
ββββββββββββββββββββββββββββββββββββββββββββββββ
super_dummy.imgcreates a virtual super partition- Kernel device-mapper creates
/dev/block/dm-*devices - Enables flexible partition resizing without physical repartitioning
- Stock MIUI cannot boot after this conversion (legacy kernel incompatible)
- ROM's own recovery required (contains correct device-mapper config)
- Evolution X β Android 17 ROM
- MindTheGapps β Google Apps package
- LineageOS β Recovery and base system
- XDA Developers β Community support
This guide is released under the MIT License.
Made with β€οΈ for the Android modding community
If this guide helped you, give it a β!