├── META-INF └── com │ └── google │ └── android │ ├── update-binary │ └── updater-script ├── README.md ├── common ├── post-fs-data.sh ├── service.sh └── system.prop ├── install.sh └── module.prop /META-INF/com/google/android/update-binary: -------------------------------------------------------------------------------- 1 | #!/sbin/sh 2 | 3 | TMPDIR=/dev/tmp 4 | MOUNTPATH=/dev/magisk_img 5 | 6 | # Default permissions 7 | umask 022 8 | 9 | # Initial cleanup 10 | rm -rf $TMPDIR 2>/dev/null 11 | mkdir -p $TMPDIR 12 | 13 | # echo before loading util_functions 14 | ui_print() { echo "$1"; } 15 | 16 | require_new_magisk() { 17 | ui_print "***********************************" 18 | ui_print " Please install the latest Magisk! " 19 | ui_print "***********************************" 20 | exit 1 21 | } 22 | 23 | imageless_magisk() { 24 | [ $MAGISK_VER_CODE -gt 18100 ] 25 | return $? 26 | } 27 | 28 | ########################################################################################## 29 | # Environment 30 | ########################################################################################## 31 | 32 | OUTFD=$2 33 | ZIPFILE=$3 34 | 35 | mount /data 2>/dev/null 36 | 37 | # Load utility functions 38 | if [ -f /data/adb/magisk/util_functions.sh ]; then 39 | . /data/adb/magisk/util_functions.sh 40 | NVBASE=/data/adb 41 | else 42 | require_new_magisk 43 | fi 44 | 45 | # Preperation for flashable zips 46 | setup_flashable 47 | 48 | # Mount partitions 49 | mount_partitions 50 | 51 | # Detect version and architecture 52 | api_level_arch_detect 53 | 54 | # Setup busybox and binaries 55 | $BOOTMODE && boot_actions || recovery_actions 56 | 57 | ########################################################################################## 58 | # Preparation 59 | ########################################################################################## 60 | 61 | # Extract common files 62 | unzip -oj "$ZIPFILE" module.prop install.sh uninstall.sh 'common/*' -d $TMPDIR >&2 63 | 64 | [ ! -f $TMPDIR/install.sh ] && abort "! Unable to extract zip file!" 65 | # Load install script 66 | . $TMPDIR/install.sh 67 | 68 | if imageless_magisk; then 69 | $BOOTMODE && MODDIRNAME=modules_update || MODDIRNAME=modules 70 | MODULEROOT=$NVBASE/$MODDIRNAME 71 | else 72 | $BOOTMODE && IMGNAME=magisk_merge.img || IMGNAME=magisk.img 73 | IMG=$NVBASE/$IMGNAME 74 | request_zip_size_check "$ZIPFILE" 75 | mount_magisk_img 76 | MODULEROOT=$MOUNTPATH 77 | fi 78 | 79 | MODID=`grep_prop id $TMPDIR/module.prop` 80 | MODPATH=$MODULEROOT/$MODID 81 | 82 | print_modname 83 | 84 | 85 | 86 | ########################################################################################## 87 | # Install 88 | ########################################################################################## 89 | 90 | # Create mod paths 91 | rm -rf $MODPATH 2>/dev/null 92 | mkdir -p $MODPATH 93 | 94 | on_install 95 | 96 | # Remove placeholder 97 | rm -f $MODPATH/system/placeholder 2>/dev/null 98 | 99 | # Custom uninstaller 100 | [ -f $TMPDIR/uninstall.sh ] && cp -af $TMPDIR/uninstall.sh $MODPATH/uninstall.sh 101 | 102 | # Auto Mount 103 | if imageless_magisk; then 104 | $SKIPMOUNT && touch $MODPATH/skip_mount 105 | else 106 | $SKIPMOUNT || touch $MODPATH/auto_mount 107 | fi 108 | 109 | # prop files 110 | $PROPFILE && cp -af $TMPDIR/system.prop $MODPATH/system.prop 111 | 112 | # Module info 113 | cp -af $TMPDIR/module.prop $MODPATH/module.prop 114 | if $BOOTMODE; then 115 | # Update info for Magisk Manager 116 | if imageless_magisk; then 117 | mktouch $NVBASE/modules/$MODID/update 118 | cp -af $TMPDIR/module.prop $NVBASE/modules/$MODID/module.prop 119 | else 120 | mktouch /sbin/.magisk/img/$MODID/update 121 | cp -af $TMPDIR/module.prop /sbin/.magisk/img/$MODID/module.prop 122 | fi 123 | fi 124 | 125 | # post-fs-data mode scripts 126 | $POSTFSDATA && cp -af $TMPDIR/post-fs-data.sh $MODPATH/post-fs-data.sh 127 | 128 | # service mode scripts 129 | $LATESTARTSERVICE && cp -af $TMPDIR/service.sh $MODPATH/service.sh 130 | 131 | # Handle replace folders 132 | for TARGET in $REPLACE; do 133 | mktouch $MODPATH$TARGET/.replace 134 | done 135 | 136 | ui_print " Setting permissions... " 137 | set_permissions 138 | 139 | ########################################################################################## 140 | # Finalizing 141 | ########################################################################################## 142 | 143 | cd / 144 | imageless_magisk || unmount_magisk_img 145 | $BOOTMODE || recovery_cleanup 146 | rm -rf $TMPDIR $MOUNTPATH 147 | 148 | ui_print " Done. " 149 | exit 0 150 | -------------------------------------------------------------------------------- /META-INF/com/google/android/updater-script: -------------------------------------------------------------------------------- 1 | #MAGISK 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # MIUI Debloater - Magisk Module 2 | Debloat MIUI 11 & MIUI 12 systemlessly. 3 | 4 | [Click to download](https://github.com/furkun/MIUI-Debloater/releases) 5 | 6 | ![MIUI Debloater](https://i.ibb.co/CtGNDRm/IMG-20210402-213849-miuiturkiye-net.jpg) 7 | 8 | ## Which apps will be debloated? 9 | Check [this](https://github.com/furkun/MIUI-Debloater/blob/main/install.sh) link. 10 | -------------------------------------------------------------------------------- /common/post-fs-data.sh: -------------------------------------------------------------------------------- 1 | #!/system/bin/sh 2 | # Do NOT assume where your module will be located. 3 | # ALWAYS use $MODDIR if you need to know where this script 4 | # and module is placed. 5 | # This will make sure your module will still work 6 | # if Magisk change its mount point in the future 7 | MODDIR=${0%/*} 8 | 9 | # This script will be executed in post-fs-data mode 10 | -------------------------------------------------------------------------------- /common/service.sh: -------------------------------------------------------------------------------- 1 | #!/system/bin/sh 2 | # Do NOT assume where your module will be located. 3 | # ALWAYS use $MODDIR if you need to know where this script 4 | # and module is placed. 5 | # This will make sure your module will still work 6 | # if Magisk change its mount point in the future 7 | MODDIR=${0%/*} 8 | 9 | # This script will be executed in late_start service mode 10 | -------------------------------------------------------------------------------- /common/system.prop: -------------------------------------------------------------------------------- 1 | # This file will be read by resetprop 2 | # Example: Change dpi 3 | # ro.sf.lcd_density=320 4 | -------------------------------------------------------------------------------- /install.sh: -------------------------------------------------------------------------------- 1 | SKIPMOUNT=false 2 | PROPFILE=false 3 | POSTFSDATA=false 4 | LATESTARTSERVICE=false 5 | 6 | print_modname() { 7 | ui_print " *************************" 8 | ui_print " MIUI DEBLOATER" 9 | ui_print " *************************" 10 | } 11 | 12 | REPLACE=" 13 | /system/app/AnalyticsCore 14 | /system/app/BookmarkProvider 15 | /system/app/BuiltInPrintService 16 | /system/app/Calculator 17 | /system/app/CarrierDefaultApp 18 | /system/app/Cit 19 | /system/app/CloudService 20 | /system/app/com.miui.qr 21 | /system/app/EasterEgg 22 | /system/app/facebook-appmanager 23 | /system/app/FidoAuthen 24 | /system/app/FidoClient 25 | /system/app/FileExplorerGlobal 26 | /system/app/GooglePrintRecommendationService 27 | /system/app/Health 28 | /system/app/HybridAccessory 29 | /system/app/HybridPlatform 30 | /system/app/IdMipay 31 | /system/app/InMipay 32 | /system/app/Joyose 33 | /system/app/Lens 34 | /system/app/mi_connect_service 35 | /system/app/MiCloudSync 36 | /system/app/MiGalleryLockscreen 37 | /system/app/MiLinkService2 38 | /system/app/MiPicks 39 | /system/app/MiPlayClient 40 | /system/app/MiRadio 41 | /system/app/MiuiBugReport 42 | /system/app/MiuiCompass 43 | /system/app/MiuiDaemon 44 | /system/app/MiuiVideoPlayer 45 | /system/app/MiuiScreenRecorder 46 | /system/app/MSA-Global 47 | /system/app/Netflix_activation 48 | /system/app/Notes 49 | /system/app/OsuLogin 50 | /system/app/PartnerBookmarksProvider 51 | /system/app/PaymentService 52 | /system/app/PlayAutoInstallStubApp 53 | /system/app/Stk 54 | /system/app/TouchAssistant 55 | /system/app/Traceur 56 | /system/app/VsimCore 57 | /system/app/wps_lite 58 | /system/app/WAPPushManager 59 | /system/app/XMSFKeeper 60 | /system/app/XiaomiSimActivateService 61 | /system/data/app/android.autoinstalls.config.Xiaomi.qssi-5NKLAXthPp3xU6ucgGl2Ag== 62 | /system/data/app/com.google.android.ims-zFXerSRh5hdqjerjDEJGyQ== 63 | /system/priv-app/Browser 64 | /system/priv-app/Calendar 65 | /system/priv-app/CleanMaster 66 | /system/priv-app/CloudBackup 67 | /system/priv-app/CloudServiceSysbase 68 | /system/priv-app/GameCenterGlobal 69 | /system/priv-app/GoogleTTS 70 | /system/priv-app/GlobalMinusScreen 71 | /system/priv-app/MiBrowserGlobal 72 | /system/priv-app/MiCalendarGlobal 73 | /system/priv-app/MiDrop 74 | /system/priv-app/MiService 75 | /system/priv-app/MiShare 76 | /system/priv-app/MiuiBrowserGlobal 77 | /system/priv-app/MiuiGallery 78 | /system/priv-app/MiuiMusicGlobal 79 | /system/priv-app/MiuiScanner 80 | /system/priv-app/ONS 81 | /system/priv-app/ProxyHandler 82 | /system/priv-app/SoundRecorder 83 | /system/priv-app/Stk1 84 | /system/priv-app/Tag 85 | /system/priv-app/UserDictionaryProvider 86 | /system/priv-app/YellowPage 87 | /system/priv-app/Weather 88 | /system/priv-app/facebook-installer 89 | /system/priv-app/facebook-services 90 | /system/product/app/Chrome 91 | /system/product/app/Gmail2 92 | /system/product/app/GoogleOne 93 | /system/product/app/Maps 94 | /system/product/app/remoteSimLockAuthentication 95 | /system/product/app/FM 96 | /system/product/app/GoogleTTS 97 | /system/product/app/YouTube 98 | /system/product/app/uimremoteclient 99 | /system/product/app/uimremoteserver 100 | /system/product/priv-app/AndroidAutoStub 101 | /system/product/priv-app/HotwordEnrollmentOKGoogleCORTEXM4 102 | /system/product/priv-app/HotwordEnrollmentXGoogleCORTEXM4 103 | /system/product/priv-app/Wellbeing 104 | /system/product/priv-app/Velvet 105 | /system/product/priv-app/EmergencyInfo 106 | /system/product/priv-app/GoogleAssistant 107 | /system/product/priv-app/SetupWizard 108 | /system/product/priv-app/ims 109 | /system/vendor/app/SoterService 110 | /data/app/android.autoinstalls.config.Xiaomi.begonia-qReVd01fGz2adoFNLXNDew== 111 | /data/app/com.miui.analytics-JEa_Zu6x4mDKRv-IsGDPAA== 112 | /vendor/data/app/Drive 113 | /vendor/data/app/Duo 114 | /vendor/data/app/GlobalFashiongallery 115 | /vendor/data/app/Music2 116 | /vendor/data/app/Photos 117 | /vendor/data/app/Videos 118 | /vendor/data/app/wps_lite 119 | /vendor/data/app/XMRemoteController 120 | 121 | " 122 | 123 | on_install() { 124 | ui_print " Extracting module files... " 125 | unzip -o "$ZIPFILE" 'system/*' -d $MODPATH >&2 126 | } 127 | 128 | set_permissions() { 129 | set_perm_recursive $MODPATH 0 0 0755 0644 130 | } 131 | -------------------------------------------------------------------------------- /module.prop: -------------------------------------------------------------------------------- 1 | id=MIUI_DEBLOATER 2 | name=MIUI_DEBLOATER 3 | version=v1.2 4 | versionCode=1 5 | author= github.com/furkun 6 | description=MIUI DEBLOATER 7 | --------------------------------------------------------------------------------