Before starting with the steps to fix the CTS Profile Mismatch Errors, let’s first understand what is ‘SafetyNet.’ We all know that rooting our Android phones give us a lot of freedom and we can do some great things with a rooted smartphone like installing a custom ROM, a custom Kernel, overclocking the processor, etc. But, if you have a device with which you use Google’s Android Pay, then it won’t work if you root your phone. SafetyNet is a thing that Google uses to detect whether your Android smartphone is rooted or not and if it detects that you have a rooted phone, certain apps can block you from accessing them. We have seen this with the Netflix app that users cannot even find the app to download from the Play Store if their devices are rooted.
Magisk, as most of you might know, is a Universal Systemless Interface, to create an altered mask of the system without changing the system itself. (Thanks, XDA). With Magisk and Systemless root, we can skip most of the SafetyNet tests,revert but the thing is that the Google’s Compatibility Test Suite (CTS) is still a problem. So, you might get the ‘SafetyNet Failed: CTS Profile Mismatch Error’ even if you have the Magisk installed on your android phone. So, assuming that you have already installed the Magisk, let’s start with the steps to fix this error.
TIP – You can check your SafetyNet status from the Magisk Manager. You will find an option that says ‘Tap to start SafetyNet Check.’ Tap on that, and it will show you the status.
STEPS TO FIX THE CTS PROFILE MISMATCH ERRORS
1. WHY NOT USE MAGISKSU?
So, the thing is that if you have rooted your smartphone and it is having any other root manager than the MagiskSU, then chances are that it doesn’t hide itself from Google’s SafetyNet and you get the error. SuperSU, which is the most popular root manager app, is on almost every rooted device so, if you want to get rid of the CTS error, make sure that you are using the MagiskSU and not SuperSU. So, here is how to switch from SuperSU to MagiskSU –
- If you have the Xposed Installer installed, then uninstall it. No need to worry about all the modules you were using. You can install the systemless version of the Xposed using Magisk. To uninstall Xposed, go to Framework > Uninstaller and choose ‘Uninstall’ option. After the process completes, reboot your device by tapping on the ‘Reboot’ option.
- This step is a bit trickier, and if, you have made any changes in the system after rooting your phone, you need to revert them back. For Example, let’s suppose you removed the bloatware apps via Titanium Backup. So, you need to install them again. Or, let’s assume that you used AdAway to remove ads. So, you need to remove that also.And we all know what’s the best way to revert all the changes – Flashing the Stock System Image of your phone.
- Now, you need to Unroot via the option in SuperSU and then, restore the Stock Boot Image of your phone. For that, Go to the SuperSU app and then settings. There, you will find an option called ‘ Full Root.’ Just tap on that and tap ‘Continue.’ Now, it will ask you if you want to restore the stock boot image. Here, make sure that you tap on ‘Yes’ option. Now, for installing Magisk, you need TWRP installed, so if you already have TWRP, you need to tap on ‘No’ when SuperSU asks if you want to restore the stock recovery image.
- Now, you need to install the Magisk zip. For this, head to the Magisk Manager app and go the Install section. Here, you will find an option named ‘Download.’ Tap on that and once downloaded, boot into recovery. Once you are in TWRP, tap on ‘Install’ and select the Magisk ZIP file from the MagiskManager folder. To flash the ZIP file, slide the button to the right and when finished, tap on ‘Reboot System.’
- Now, got to Magisk Manager app, and go to settings. Here, make sure to enable Magisk Hide, BusyBox, and Systemless hosts options. Lastly, clear the data of the Play Store by going to Settings > Apps > Play Store > Manage Space > Clear Data.
Now, head to the Magisk Manager app and go to Magisk Hide.Make sure that this option is enabled and it will be used to hide additional apps like Google Play Store and Google Services Framework and other apps that you think are having the issues ith SafetyNet.
2. WHAT ABOUT TRYING unSU?
If you are unable to fix the CTS Profile Mismatch error even after doing everything mentioned above, you can try unSU. We have to use this because, i.e., even after doing the ‘Full Unroot’ via the SuperSU, not all the data of the SuperSU is removed. The developer osm0sis has created a flashable zip that you can download and flash via TWRP. The flashing procedure is same as you flashed the MagiskSU ZIP.
3. IS USB DEBUGGING ON? TURN IT OFF!
So, we also don’t know why but the CTS Profile Mismatch error can occur even with Magisk installed if you have turned on the ‘USB Debugging’ Option. So, you need to head to the Settings? Developer Options and then, turn off the ‘USB Debugging.’ Lastly, do a reboot and check if the issue has been fixed or not.
4. SET SELinux BACK TO ‘ENFORCING’ MODE
This is a pretty simple step. So, back in time if you ever changed the SELinux mode to ‘Permissive,’ then you need to revert it back to ‘Enforcing’ i.e., the default mode. So, open the same app via which you change the SETLinux Mode to Permissive and change the mode back to ‘Enforcing’. Now, you need to reboot the phone. You can find the apps to do so on XDA easily.
5. TRY A CUSTOM KERNEL
Having a custom ROM? Well, then you can try installing a custom Kernel. Why are we saying this? Well, the CTS is used by Google to verify that the certification standards are met by the device and its firmware. Obviously, a phone with custom ROM won’t pass this test. But, there is still a way. You need to install a custom Kernel known as the ‘Franco Kernel’ and to install this, you need to buy an app called ‘Franko Kernel Updater’ or ‘FKU’. Once you have installed it, open it and then tap on ‘Download’ option. Don’t wanna spend money? Well, head to XDA and you can find the best ‘Franco Kernel’ ZIP file for your smartphone for free.
If you have a Xiaomi phone with a custom ROM installed, you can use this Magisk Module to pass the CTS test.
So, this was a detailed guide about fixing the CTS Profile Mismatch Error even with Magisk installed. If the steps mentioned above don’t work, you need to start from scratch i.e., flash Stock ROM, install TWRP, flash Magisk ZIP and do the same thing again. Did the steps work for you? Do let us know via the comments section.