[Xiaomi Redmi Note 3 Guides, News, & Discussion] Sudeep Duhoon:
Introduction:

This is a long but detailed guide to move user apps to system and to make them survive OTA so they will get restored on flashing every OTA(any rom?). This is lengthy but has to be done only once.

Things needed:

Unlocked and rooted device with TWRP installed and on any custom rom like Lineage which supports addon.d (NOT MIUI)

60-apps.sh

Link2sd

Titanium backup

A PC with any good notepad editor (I use notepad++)

Directory Printer

A USB Cable

Some free space (2GB) in internal/external sd card) temporarly

Little time and presence of mind (can't give link, sorry) :p

See Screenshots (folder) if it gets confusing, they are numbered 1 to 40 so it will be easy to understand.

Instructions:

1. Install you favorite rom and set it up. Install all the apps you use(do set the apps, just install for now). Once done, Install link2sd and titanium backup too.

2. Open link2sd and grand root permissions.

i. Tap menu and then Storage Info to check how much space do you have in System

ii. Tap back and set sorting mode to apk+dex+lib size and filter to User apps (both buttons are next to menu, you can't miss them)

iii. Now tap and hold on any application name you want to move to system, ideal apps would be like Greenify, Instadic, Truecaller etc. (apps you want to let run in background), apps you always keep in your phone or apps which are big in size. I used Kernel Adiutor-Mod here to demonstrate.

Move all the required apps and keep checking system space, leave 100-200mb free.

3. Once done, Reboot to TWRP

i. Tap Mount and put a tick before System

ii. Go back and Tap Advance--->File manager

iii. Scroll to find system, open it and find priv-app, open it too (you are here- /system/priv-app)

iv. Tap menu button and copy folder, scroll to find sdcard/sdcard1, again tap menu botton and swipe to copy. (i used Alarms folder in /sdcard)

4. Once done, Connect the phone to PC.

i. Make a folder (name it sysapps) and copy this priv-app folder in sysapps folder. (delete from sdcard)

ii. Download 60-apps.sh from here and place it in sysapps folder too.

iii. Open priv-app folder and delete everything except the apps you moved. Tip-Default system apps should have proper names like Settings. SystemUI, Velvet(gapps too) etc.

iv. Run Directory Printer and click save to disk. Set everything as shown here and navigate to \sysapps\priv-app folder.

v. Click Save to disk and again navigate to sysapps folder, name the file as my.txt and save it.

5. Run Notepad++ and open my.txt in it.

i. Press ctrl+h to open replace, write everything written before priv-app in find what column and delete everything written in replace with column. Click repalce all. (we are removing everything written before priv-app in every line)

ii. Again write \ in find what column and / in replace with column. Click replace all.

6. Open 60-apps.sh in notepad++

i. Look for addon.d/60-apps.sh under list_files() {

ii. Select and copy everything from my.txt and paste it between addon.d/60-apps.sh and EOF (there is a blank line there, check and delete if any blank line remains after pasting)

iii. Once done, save it and exit notepad++.

7. Now copy/move this 60-apps.sh to sdcard and disconnect the phone

i. As done above to copy priv-app from system to sdcard, copy 60-apps.sh from sdcard to /system/addon.d

ii. Navigate to /system/addon.d and tap 60-apps.sh. Tap chmod 755. Swipe to confirm.

iii. Reboot your phone.

8. Use your phone as you do and flash any ota without wiping system. If changing rom, try deleting everything except priv-app and addon.d folder in system, instead of wiping system partition completely.

Moving updated apps to system:

Occasionally apps will get updated and they will start to acquire space in data. To move them back to system do this.

1. Open titanium backup, tap Backup/Restore, tap click to edit filters and under Filter by type tap User and Uninst. to leave just System enabled. Tap green Check above right to set.

2. Tap Order by app name (click to change) and tap last update time.

3. Backup all updated apps temporarily and close titanium backup.

4. Open link2sd and set filter to Updated

5. Tap and hold on app's name and tap Integrate update into system

6. Once done, reboot.

7. Open titanium backup again and restore data only for the apps you backed up.