Android custom ROM installation without GAPPS (example: Xiaomi Redmi 4X Santoni)

This article describes the installation of a custom ROM without Google Services on an Xiaomi Redmi 4X

Installing a custom ROM on your Android devices has a lot of advantages such as being able to get root. This allows ad-blocking, modifying how the system works, etc.

To install a custom ROM you will need:

  • a smartphone with unlocked bootloader (The Redmi 4X may be unlocked using the MiFlash Tool)
  • a custom rom (I am using Resurrection Remix on my Redmi 4X Santoni (version with Qualcomm Snapdragon processor))
  • a custom recovery (such as TWRP, has to be compatible with the Android version of your custom ROM)
  • a PC from which you can download and transfer the custom stuff
  • ADB/fastboot (I am using Minimal ADB and fastboot which is kind of a stripped down Android SDK package including only the most needed stuff)
  • ADB drivers for your smartphone (usually, the smartphone vendor will provide these)

Procedure:

  • Install ADB driver and ADB/fastboot
  • Open command prompt (cmd.exe) and cd into Minimal ADB and fastboot directory
  • Switch your phone into fastboot mode (manufacturer dependent): on the Redmi 4X, switch off the phone, then hold Volume Down + Power
  • In the console: fastboot devices will show all connected fastboot devices
  • Install custom recovery: fastboot flash recovery twrp-filename-of-recovery.img
  • Boot into custom recovery: fastboot boot twrp-filename-of-recovery.img
  • In the recovery: Wipe -> Perform factory reset (will wipe Data, Cache and Dalvik)
  • Copy the custom recovery
  • adb push custom-rom.zip /sdcard/
  • In the recovery: Install -> /sdcard/custom-rom.zip

Follow up: Since Resurrection Remix comes without Google Apps or any browser, we will need to install a store.

  • Download f-droid
  • Enable Dev Options: In Android Settings -> System -> About Phone -> Click Build number 7 times
  • In Android Settings -> System -> Developer Options -> Enable Android debugging
  • In the console: adb install fdroid.apk

To install an alternative to Googles proprietary services, add the following repository in f-droid: https://microg.org/fdroid/repo

Install from FDroid:

  • MicroG Services Core
  • MicroG Services Framework Proxy
  • Install a Nlp backend of your liking: for example Déjà Vu Location Service
  • in microG settings, use self check and grant permissions
  • activate the location provider

For more information on microG as a near full Google Service replacement see here. I extracted the apks mentioned using 7-Zip and the lzip plugin (extract to folder "Formats" in the 7-Zip program folder).

In the console, I pushed them to /system/apps/

adb root
adb shell
mount -o rw,remount,rw /system
exit
adb push 
adb push 
adb shell
mount -o ro,remount,ro /system
exit

For full signature spoofing, install NanoDroid. I used the NanoDroid-microG package as a Magisk module since the Resurrection Rom is odexed and therefore not patchable with NanoDroid-patcher. The following config file (.nanodroid-setup) was placed in /sdcard/

nanodroid_play=2 
nanodroid_overlay=0 
nanodroid_mapsv1=1 
nanodroid_gsync=1
nanodroid_swipe=1
nanodroid_forcesystem=0
nanodroid_nlpbackend=3

From top to bottom:

  • play = Yalp store and Fake store
  • overlay = do not debloat, since there is no bloatware
  • mapsv1 = Maps v1 API
  • gsync = install Google Adapters
  • swipe = install swipe library for swipe keyboard support
  • forcesystem = do not force system install (since odexed)
  • nlpbackend = Déjà Vu and Mozilla NLP backend

Vorheriger Beitrag