The Custom Droid

Android Tutorials, Tips and Tricks

Magisk v23.0 Update Fixes SafetyNet API Error, Drops Pre-Android 5.0 Support, and More

Magisk v23

Updates to Magisk, the universal systemless interface and the infamous root solution for Android, are no less than exciting. Magisk’s creator John Wu (topjohnwu) has released Magisk v23 update. This latest version of Magisk fixes the dreaded SafetyNet API error, carries bug fixes, and drops support for pre-Android 5.0 devices.

Advertisement

You can now download Magisk 23.0 and install it to root your Android device. Users running the previous version can easily update to this new and latest version of Magisk by following the instructions provided on this page.

Update (July 21, 2022): The latest Magisk v25 update is now live. It comes with re-architecture’d magiskinit that fixes SELinux incompatibility issues, security enhancements for root permission management (MagiskSU), squashes several bugs, and more.

What’s new in Magisk v23?

The announcement of Magisk 23.0 came it on May 12 through the developer on Twitter. To recap, the previous release (Magisk v22) brought a significant change merging both the Magisk installer and the Magisk Manager app into a single package. Further, it also added support for the Magisk App Hiding technique to work on devices running Android versions as low as Android 5.0.

Unlike most previous major releases, version 23 does not bring many user-facing changes. But it does carry a few major changes that are worth noting, as well general bug fixes and under-the-hood improvements. So let’s talk a bit about these key changes first.

Fix for SafetyNet API Error

Back in April this year, several Magisk users flooded the XDA-Developers community forums as well as the official GitHub Issues section with reports (1, 2, 3, and 4) of seeing the “SafetyNet API Error” while conducting a SafetyNet attestation through the Magisk application.

SafetyNet API Error in Magisk v22

The fact that the reports didn’t originate after a new Magisk release suggested that something was changed concerning the API.

Developer John Wu initially assumed that the SafetyNet Attestation API was dead. But it was quick of him to figure out (as expected :D) that it was the API key being used by Magisk that was blocked and not the SN Attestation API being dead. Pheww! That was really a relief.

Source: https://twitter.com/topjohnwu/status/1382563209995964418

John was even quick to get a new API key working and pushed the fix as an update to Magisk on the Canary channel. The same fix has also been merged into this latest release of Magisk v23, which means that users on the Stable channel will not face the “SafetyNet API Error” anymore.

No Support for Android JellyBean and KitKat

For long, Magisk has supported legacy Android versions for enthusiasts who like to play around with their old devices.

While the whole idea behind supporting older Android versions is great, it requires a lot of work to maintain backwards compatibility considering how fast Android itself is progressing every year.

Starting with version 23.0, Magisk now only supports Android 5.0 and higher. While it might be a bummer, but that does not mean that you cannot use Magisk to use root devices running Android JellyBean or KitKat. You still can! Any version prior to this v23 release will still work perfectly on legacy Android versions as it has till now.

Magisk v23.0 Changelog

Along with the two user-facing changes mentioned above, Magisk 23.0 brings several bug fixes. Below is a complete changelog as provided by the developer on GitHub:

  • [App] Update snet extension. This fixes SafetyNet API errors.
  • [App] Fix a bug in the stub app that causes APK installation to fail
  • [App] Hide annoying errors in logs when hidden as stub
  • [App] Fix issues when patching ODIN tar files when the app is hidden
  • [General] Remove all pre Android 5.0 support
  • [General] Update BusyBox to use proper libc
  • [General] Fix C++ undefined behaviors
  • [General] Several sepolicy.rule copy/installation fixes
  • [MagiskPolicy] Remove unnecessary sepolicy rules
  • [MagiskHide] Update package and process name validation logic
  • [MagiskHide] Some changes that prevents zygote deadlock

Download Magisk v23.0 from GitHub

To recap, starting with version 22, Magisk and Magisk Manager have been merged into one single package that is also a recovery-flashable file for installation/uninstallation.

TWRP v3.5 supports flashing the Magisk APK file just like any other ZIP file. If you’re using an older or unofficial version of the custom recovery, simply download Magisk-v23.0.apk and then rename it to Magisk-v23.0.zip for flashing.

GitHub is the only official home/website/source of Magisk. On several occasions, Magisk’s creator John Wu, as well as XDA-Developers, have advised the users to only download Magisk from GitHub.

For documentation, below is the direct link to download Magisk v23.0 APK from GitHub.

How to Install Magisk v23?

You can install the latest Magisk v23 on your Android device by using either of the following methods:

  1. Renaming the Magisk APK to a ZIP file and then flashing the ZIP using a custom recovery, such TWRP recovery.
  2. Patching the boot/recovery image in Magisk Manager and then flashing the resultant patched image to your phone using Fastboot commands.

The first method is generally more straightforward if you have a custom recovery installed on your device.

On the other hand, if a custom recovery like TWRP is not available for your device, or if you don’t want to install a custom recovery at all, then simply follow the second method. The second method also makes it much easier to install OTA updates on rooted devices using Magisk.

All you will need is the stock boot/recovery image for the Android software version/build number currently installed on your device. You can extract these images from the OEM Factory Image or OTA update package (instructions here), try downloading it from firmware.mobi, or look up your device’s rooting guide on this website.

It is strongly recommended to take a full backup of all your data before you begin installing Magisk (See: Android backup guide). If any issues arise, this backup should help your restore all your data.

The following tutorial will help you install Magisk v23 using the aforementioned methods. I suggest you go through the instructions and familiarize yourself with the procedure before you start performing it.

How to Update Magisk to v23?

If you already have Magisk installed on your device, you do not need to re-install it. You can easily update to Magisk v23 by following the steps listed below.

  1. Launch the Magisk app on your device.
  2. Let the app refresh and fetch the latest update.
  3. Press the “Update” button on the “App” card and then press “Install”.
    Update the Magisk application to v23
  4. Press “Install” again when prompted to install and update the Magisk app to the latest version.
  5. Once the update finishes, relaunch the Magisk app.
  6. Press the “Update” button on the “Magisk” card.
    Update Magisk to v23
  7. Select “Direct Install” as the preferred method of installation and press “Let’s Go”.
  8. Finally, press “Reboot”.

That’s it! You have successfully updated to Magisk v23 on your device.

Wrapping Up

Unlike the last major release, Magisk v23 does not bring any significant changes to the core, but it does fixes a list of bugs, including the one that prevented users from performing the SafetyNet attestation through the Magisk app.

As always, John was swift in fixing the problem and rolling out an update. A huge thanks to him for all the time he devotes to the Android modding community from his tight schedule.

Oh and that reminds me, John also joined the Android Platform Security team over at Google. He made this announcement over at Twitter. Congratulations to him on that!

Twitter: https://twitter.com/topjohnwu/status/1394307859815407619

If you have any questions about this latest release of Magisk, feel free to ask. If you encounter bugs, you can report them under the Issues section on GitHub. While doing so, try and be as descriptive as possible and provide a logcat so that John can debug the issue quickly and roll out a fix in the next update.

Source: Magisk on Github

About the Author

Founder and Editor-in-Chief

Dhananjay has more than 11 years of experience in Android software customization and development, and has spent the past 10 years writing about it. He spends most of his prime time reading, learning and writing about Android and other open-source projects. He is also a community-taught web developer. Apart from that, he loves mountain biking and playing video games on his PlayStation.

Comments 4 Comments

  1. I have a rooted moto g40 fusion(stock rom) and i have uninstalled some system apps of google(like play services).Now is it ok or problematic to follow your guide (ota update on rooted stock rom without losing magisk)?

    1. Albert, it depends on how to uninstalled the system apps. Mounting the /system partition and making direct modifications will lead the OTA update to fail.

      So, how exactly did you uninstall the system apps? Let me know so that I can provide you with a proper answer.

    2. Thank you for replying. I uninstalled using root file explorer and i have also installed MicroG on my device.

    3. Then I think the OTA installation would fail, because you mounted and altered the /system partition directly.

      My opinion (for this specific situation) would be to manually update the firmware by flashing it through fastboot (let me know if you need any help with that) and then re-rooting the phone via Magisk.

      Once this is done, remove system apps through a Magisk module, I am sure there’s at least one of these on XDA.

      If you need any help, just let me know.

Leave a Reply

Comments are moderated, and published only if they are relevant to the topic and add value in a constructive way. If you disagree with something, please be polite and respectful. We suggest you read our comment policy before commenting.