Back in June last year I bought a Lenovo 4 10 Plus and upgraded it to what was then the latest version of Android (Pie/9) and made it pass safety net using magisk and a few modules. Today I have upgraded that tablet to Android Q/10 and once again passed safetynet, this is how I did it.
First of all, this guide is written more for my own documentation and requires that you have some idea about this kind of thing already, if you don’t completely understand what I am saying, DO NOT follow my guide, instead head over to this XDA thread and make sure you understand completely what is going on. Doing things wrong here can end up bricking your device and render it useless, continue at your own risk. Just as last time, I have only verified this on the L version of the tablet.
Also note that this guide is for upgrading a tablet that already has a version of TWRP installed, if you have a fully stock tablet check out the beginning of my post for upgrading to Pie/9 where I install TWRP on a stock tablet first and then come back here once you have TWRP installed.
ok, with that out of the way, lets get started.
Just as last time I begin with downloading everything I need and put it on the external SD card, it is very important to not put it on the internal SD card as we will wipe that clean!
Here is the list of what to download and which versions I used
Once again I went with a third party build of lineage that I found on XDA, this time it was a build created by Senior recognized developer codeworkx. You can find the thread for the Lineage OS 17.1 build here and I used the version that was released on 20200731.
A new TWRP version was available for my tablet from here so I decided to install that as well, the version I installed was twrp-3.4.0-0-X704F.img
Just like last time I went with GAPPS from the open gapps project, make sure you select Arm64, Android 10 and Micro. The version I installed was from 20200802 but you should probably use the latest one.
I downloaded the latest version of Magisk (v20.4) and Magiskt Manager (v7.5.1) from the Magisk GitHub release page. Don’t get it anywhere else as there are some shall we say not so legit versions floating around that you really don’t want to install.
Magisk hide props conf
Next I downloaded the latest version of the magisk hide props conf module from here, in my case it was version 5.3.0-v95
Ok now that everything was downloaded I double checked that I had saved it on the external SD card.
Next I rebooted the tablet into recovery, selected install, changed to image and flashed the new version of TWRP that I downloaded.
The tablet then rebooted into the OS, once it did I rebooted it to TWRP again
If you want a backup of your system now is the time to take it, again make sure it is saved on the external SD card. I did not take a backup, don’t be like me.
Now it was time to clean out the old Android, hit wipe but don´t use the slide, instead hit format data and type yes. Once done, hit the back button and go to advanced wipe. Check Dalvik/ART Cache, System and Cache then swipe to wipe them. Go back to the main menu and reboot into recovery. If it asks if I want to install a TWRP app I always say no.
Once back in TWRP I began by flashing the ROM, then GAPPS and lastly Magisk, then I rebooted into system. Once again say no if it asks for installing a TWRP app.
Now I went through the setup of the tablet, I encountered a bug where the tablet would just keep looping between enter pin code and enabling the google assistant. I tried rebooting the tablet but that did not help, if this happens to you as well you can get around it by going all the way back to the start of the setup, select another language and then continue with the installation, this will let you pass the setup, then you can just change the language back to english US. Some people online seem to have been able to just switch to another version of english while some have needed to select an entierly different language, in my case I used swedish. If you use swedish as well, the setting you want to search for when changing back to english is språk or sprak, both of them will work.
Ok so now that I was back in the tablet I installed magisk manager and then headed to the magisk manager settings and made sure Magisk Hide is enabled, I also enabled that Magisk manager itself should be hidden.
Next I headed to Google Play and installed the app “Termux”, in my case it was version 0.95 but the version shouldn’t matter here.
Now I went back to magisk manager and downloaded/installed the module “Busybox for Android NDK” in my case it was version 1.31.1. Choose not to reboot your device.
Then I installed the magisk hide props conf module that I downloaded before, this time you should reboot the device
When the tablet is back up, I opened up Termux, typed su and hit enter. I allowed it root permissions and then typed props followed by enter. Follow the menu that was started like this
Edit device fingerprint -> pick a certified fingerprint -> Lenovo -> Lenovo Tab 4 10 Plus TB-X704F -> yes for reboot.
When my device was back up I ran the SafetyNet check inside Magisk Manager and saw that everything was green but when I tried to search for Netflix on Google Play it still didn’t show up. To fix this I headed in to the tablets settings, then apps, show system apps. Then clear all data for Google Play Services and Google Play. Now I rebooted the device one final time and then it was done.
The tablet is now running Android Q/10 and passes SafetyNet. One last thing to keep in mind is that SafetyNet is always updated so this might break in the future and then Magisk will probably update to fix it again etc etc. If always passing SafetyNet is really important to you I recommend looking for a new tablet with official updates.