Android Rooting Guide
Master Android rooting with comprehensive tutorials covering bootloader unlocking, root installation, and advanced customization techniques.
Quick Navigation
TIP
Want guide for a specific device? Select your manufacturer in the Device-Specific Guides section ↗
Steps
Ready to begin? Choose your path:
- Prerequisites and Safety - Critical preparations
- Universal Rooting Process - Four-step guide for all devices
- Device-Specific Guides - Tailored instructions for your device
- Root Method Comparison - Magisk vs KernelSU vs APatch
- Root Without Unlocking the Bootloader - GhostLock temporary root
NOTE
Need help? Visit Troubleshooting or FAQ
Understanding Root Access
Root access grants superuser (administrator) privileges on Android, providing complete control over your device's operating system and hardware.
What Root Enables
- System-level control over files, processes, and hardware
- Bypass manufacturer restrictions on any Android version
- Install powerful apps requiring deep system integration (see Root Apps)
- Modify core system files and customize every aspect via Magic Mount, OverlayFS, or KPM
- Access hidden hardware features and advanced kernel-level configurations
- Kernel-level code injection via APatch KPM (inline-hook, syscall-table-hook)
- Fine-grained root access control via KernelSU App Profiles (uid, gid, capabilities, SELinux)
Benefits vs Risks
| Benefits | Risks |
|---|---|
| Complete device control | Warranty void (usually permanent) |
| System-wide ad blocking | Reduced security if misconfigured |
| Performance tuning | Banking apps require active hiding (solutions) |
| Privacy enhancements (firewall, permission control) | OTA updates require manual re-patching |
| Bloatware removal | Potential for device bricking |
| Full app + data backups (Swift Backup, Neo Backup) | Play Integrity may break unpredictably |
| Kernel-level tweaks (CPU, GPU, scheduler) | Strong Integrity generally unachievable on unlocked devices |
| Custom ROM installation freedom | Bootloader unlock wipes ALL data |
Is Rooting Right for You?
| ✅ Root If: | ❌ Don't Root If: |
|---|---|
| Want complete control over your device | Rely solely on banking/finance apps |
| System-wide ad blocking is priority | Uncomfortable with terminal/command-line |
| Enjoy deep customization & theming | Need 100% warranty coverage |
| Privacy & anti-tracking matters | Want seamless automatic OTA updates |
| Willing to learn & troubleshoot | New to Android and risk-averse |
| Use device as daily driver with backups | Prefer stock, zero-maintenance experience |
Prerequisites and Safety
Critical Warnings
⚠️ PERMANENT CONSEQUENCES
Data Loss - Unlocking bootloader completely erases all device data. Backup everything before proceeding.
Warranty Void - Bootloader unlocking permanently voids manufacturer warranty on most devices.
Samsung Knox - Bootloader unlock permanently trips Knox eFuse. Samsung Pay, Secure Folder, Samsung Pass are lost forever - even if you re-lock the bootloader.
Security Risks - Root access can expose your device to malware if misused. Only grant root to trusted apps. With great power comes great responsibility.
Banking & Finance Apps - Many financial apps actively detect root. Play Integrity bypass is a continuous cat-and-mouse game requiring ongoing maintenance.
Bricking Risk - Incorrect procedures can permanently damage your device. Follow instructions exactly and have a recovery plan ready.
Essential Requirements
Hardware:
- Android device with unlockable bootloader (verify before starting - some carrier-locked variants cannot be unlocked)
- 50% or higher battery charge (a dead battery during flashing = brick)
- Quality data-capable USB cable (not charge-only cables)
- Computer (Windows, macOS, or Linux - Linux is often the most reliable)
Software:
- Android Platform Tools (ADB/Fastboot) - keep these updated!
- Device-specific USB drivers (Windows only - see OEM driver list)
- Stock firmware for your device (essential for recovery)
- Backup solution for your data (Swift Backup, Neo Backup, or manual copy)
Files You'll Need:
- Stock
boot.imgorinit_boot.img(extract from your device's firmware - Android 13+ devices typically useinit_boot.img) - Latest root solution APK/ZIP (Magisk, KernelSU, or APatch)
- Custom recovery image (optional but recommended)
Knowledge:
- Basic command line / terminal familiarity
- Understanding of your exact device model and variant
- Ability to research and follow instructions carefully
- Emergency recovery plan (know how to flash stock firmware)
Pre-Rooting Checklist
- ✅ Backup all data - Photos, contacts, messages, app data (see Backup Apps)
- ✅ Charge device - Minimum 50% battery
- ✅ Verify bootloader unlockability - Check OEM Unlocking toggle in Developer Options (greyed out = likely carrier-locked)
- ✅ Download necessary files - Stock firmware, root solution (APK+ZIP), recovery image
- ✅ Research your device - Read XDA forums and device-specific guides thoroughly
- ✅ Prepare recovery plan - Know how to restore stock firmware via fastboot/recovery
- ✅ Identify correct partition - Determine if your device uses
boot.imgorinit_boot.img(Android 13+ typically =init_boot.img)
Choosing a Root Method
Three primary rooting solutions exist, each with distinct advantages and trade-offs. Magisk offers the broadest compatibility and largest module ecosystem, KernelSU provides kernel-level root with granular per-app control, and APatch combines kernel patching with Magisk-like module support. All three require an unlocked bootloader.
Check Your Device First
The right method depends on your device's specifics, not brand reputation:
- Bootloader - Confirm the OEM Unlocking toggle exists in Developer Options (greyed out often means carrier-locked). Unlocking wipes all data.
- Kernel type - GKI 2.0 devices (kernel 5.10+) can run KernelSU in LKM mode. Older non-GKI kernels need a custom KernelSU build, which favors Magisk or APatch. Check with
adb shell uname -r. - Boot partition - Android 13+ devices usually boot from
init_boot.img, older devices fromboot.img. Patch the wrong image and root will not apply. - Kernel config (APatch only) - APatch needs ARM64 with
CONFIG_KALLSYMS=y. Check withzcat /proc/config.gz | grep CONFIG_KALLSYMS(needs root) or inspect your kernel source. - Kernel source - Non-GKI KernelSU builds require the exact kernel source for your device. If the vendor never published it, Magisk or APatch are the practical options.
Quick Comparison
| Feature | Magisk | KernelSU | APatch |
|---|---|---|---|
| Guide | Magisk Guide | KernelSU Guide | APatch Guide |
| Target Users | Beginners, most users | GKI devices, privacy-focused | Developers, edge cases |
| Architecture | Systemless (boot/init_boot/vendor_boot) | Kernel-level (GKI/LKM) | Kernel patching (KernelPatch) |
| Android Support | Android 6.0+ | Android 12+ (GKI 2.0) officially, older via custom kernel | ARM64, kernel 3.18 to 6.12 |
| Kernel Requirement | Any bootable kernel | GKI 2.0 for LKM mode, custom build otherwise | CONFIG_KALLSYMS=y |
| Installation | Easy (patch and flash boot image) | Easy on GKI (patch and flash), custom kernel build on non-GKI | Patch and flash boot image (ARM64 only) |
| Module Ecosystem | Largest module ecosystem | Most Magisk modules work via metamodule | APModule (Magisk-like) plus KPM (kernel-level) |
| Module Mounting | Built-in Magic Mount | Metamodule, only for /system modifications (e.g. meta-overlayfs) | Built-in, Magisk-like |
| Root Hiding | Good (DenyList + Shamiko + PIF) | Strong (app profiles: uid, gid, capabilities, SELinux) | Good (SuperKey credential system) |
| Community | Largest | Growing | Small |
| Unique Strength | Ecosystem and broad compatibility | Kernel space, only permitted apps see su | KPM kernel code injection without kernel source |
| OTA Handling | Re-patch boot image after OTA | Re-patch or reflash kernel after OTA | Re-patch boot image after OTA |
Decision Guide
Choose Magisk if:
- You are new to rooting and want the easiest path
- You need the widest module compatibility and device support
- You want in-app updates and the largest community
- Your device has a non-GKI kernel without published kernel source
Choose KernelSU if:
- Your device runs a GKI 2.0 kernel (5.10+) and you want kernel-level root
- Fine-grained app profiles (uid, gid, groups, capabilities, SELinux) matter to you
- You want root hidden from apps that are not explicitly permitted
- You are comfortable installing a metamodule for modules that modify /system
KernelSU variants such as KernelSU Next and SukiSU-Ultra add SUSFS integration and support for older kernels. See the comparison page for current options.
Choose APatch if:
- Magisk and KernelSU are blocked on your specific firmware
- You need kernel-level code injection (KPM) without kernel source
- Your device is ARM64 with a kernel in the 3.18 to 6.12 range and KALLSYMS enabled
- You want both Magisk-like modules and kernel patching in one tool
IMPORTANT
For detailed comparison including migration guides and live release/commit badges, see Root Framework Comparison
TIP
Can't (or don't want to) unlock your bootloader? All three frameworks above assume an unlocked bootloader. The GhostLock bug (CVE-2026-43499) instead grants temporary, session-only root with the bootloader locked - no Knox trip, no data wipe - but only on specific vulnerable device builds, and the root disappears after a reboot. See Root Without Unlocking the Bootloader for what it can and can't do, plus the broader Temporary Root for Android: Methods & Solutions page.
Universal Rooting Process
All Android devices follow this four-step rooting process, regardless of manufacturer or root method. Modern devices (Android 13+) often use init_boot.img instead of boot.img for root patching - check your device specifics.
Step 1: Unlock Bootloader
Unlocking the bootloader is the essential first step that enables all subsequent modifications.
Quick Steps:
- Enable Developer Options (Settings > About > Tap Build Number 7 times)
- Enable OEM Unlocking (Developer Options > OEM Unlocking)
- Enable USB Debugging (Developer Options > USB Debugging)
- Boot to fastboot mode (Power + Volume Down or
adb reboot bootloader) - Execute unlock command (
fastboot flashing unlockorfastboot oem unlock)
CAUTION
⚠️ This step erases ALL data. Backup everything first. On Samsung devices, this also permanently trips Knox (Samsung Pay, Secure Folder, Samsung Pass lost forever).
📖 How to unlock an Android bootloader
Step 2: Install Custom Recovery (Optional but Recommended)
Custom recovery provides advanced features and safer modification workflows. While not strictly required for all modern root methods, it's invaluable for backups and emergency recovery.
Popular Options:
- TWRP - Most widely supported, active development
- OrangeFox - Modern UI, frequent updates, EROFS support
- SKYHAWK - Feature-rich recovery project
- PitchBlack - Based on TWRP with enhanced features
Process:
- Download device-specific recovery image
- Boot to fastboot mode
- Flash recovery image -
fastboot flash recovery recovery.img - Boot to recovery - Test functionality before proceeding
NOTE
Some modern devices (especially A/B partition schemes) may not have a dedicated recovery partition. In these cases, you can fastboot boot recovery.img to temporarily boot recovery without flashing.
📖 Custom Recovery Installation Guide
Step 3: Install Root Solution
Choose and install your preferred root method. The modern approach uses boot image patching.
Option A: Magisk (Recommended for Most Users)
- Download latest Magisk APK from official GitHub
- Extract the correct image from your device's stock firmware:
- Android 13+ (most devices):
init_boot.img - Android 12 and older:
boot.img - Some Samsung devices:
boot.img+vendor_boot.img(Magisk v30.3+)
- Android 13+ (most devices):
- Transfer image to device, patch it using the Magisk app
- Flash patched image via fastboot (
fastboot flash init_boot magisk_patched...img) - Reboot and complete Magisk app setup
TIP
Magisk now supports XZ-compressed modules and 16k page size devices. Use the latest stable release from GitHub.
Option B: KernelSU
- Verify your device has a GKI-compatible kernel (kernel 5.10+ with GKI 2.0)
- Download KernelSU-supported kernel for your device or use LKM (Loadable Kernel Module) mode
- Flash kernel via fastboot or KernelSU app
- Install KernelSU Manager app
- Install a metamodule (Mountify or Meta-Hybrid Mount) - required for modules to work
- Configure App Profiles for fine-grained root access control
WARNING
KernelSU no longer has built-in module mounting. Fresh installations require a metamodule for modules to function. See the KernelSU Guide for details.
TIP
KernelSU hides root at the kernel level through the module system and App Profiles. For hiding that goes further, see the SUSFS Root Hiding Guide.
Option C: APatch
- Verify device compatibility (ARM64, kernel 3.18–6.12)
- Download APatch Manager and prepare your stock
boot.img - Patch boot image via APatch app (set a strong SuperKey)
- Flash patched image via fastboot
- Configure APatch Manager and install APModule/KPM as needed
NOTE
APatch combines Magisk's convenient boot.img install with KernelSU's kernel patching power. KPM allows kernel function inline-hook and syscall-table-hook without kernel source.
Step 4: Post-Root Configuration
After successful root installation, complete these essential steps:
- Verify Root Access - Use a root checker app to confirm superuser access works
- Install Essential Apps - Visit Starter Kit: Must-Have Apps
- Configure Root Hiding (critical for banking apps):
- Magisk: Enable Zygisk + DenyList, install any Play Integrity Fix module + Tricky Store + Shamiko (or open-source Zygisk Assistant)
- KernelSU: Use App Profiles, install Zygisk Next + PIF + Tricky Store. Hide mounts from sensitive apps in their profile, and add SUSFS if supported
- APatch: Use SuperKey credential system + PIF modules
- Create Full Backup - Use Swift Backup, Neo Backup, or recovery nandroid
Recommended Next Steps:
- Block Ads System-Wide - Eliminate ads across all apps
- Debloat Your Device - Remove bloatware safely
- Install LSPosed / Vector Framework - Advanced app customization with Xposed modules
- Browse 750+ apps and modules - Discover essential tools
Device-Specific Guides
Detailed rooting instructions tailored for specific manufacturers and models.
📱 Google Pixel Series
📱 Samsung Galaxy Series
📱 Xiaomi Devices
📱 OnePlus Devices
📱 Motorola Devices
📱 Nothing Phone Series
TIP
Can't find your device? Check XDA Developers Forums or search device-specific Telegram groups. Most devices with unlockable bootloaders follow the universal process above.
NOTE
ASUS (ROG/Zenfone), Realme/OPPO: Check the Root Framework Comparison for device-specific root method recommendations.
Troubleshooting
Common Issues and Solutions
Device Won't Boot (Bootloop)
Symptoms: Device stuck on boot logo, constantly rebooting
Solutions:
- Boot to recovery mode (Power + Volume Up, varies by device)
- Wipe cache partition from recovery
- Restore from backup if available
- Flash stock
boot.img/init_boot.imgvia fastboot to undo root - Flash full stock firmware via fastboot/recovery
- Seek help on your device-specific XDA forum
Root Not Detected
Symptoms: Root checker shows no root, apps can't get superuser access
Solutions:
- Verify root manager app is installed and running
- Check if Zygisk is enabled (Magisk settings)
- Grant root permission when prompted by apps
- Re-patch and re-flash boot image
- Verify the patched image wasn't overwritten by an OTA
Banking Apps Not Working (Play Integrity)
Symptoms: Apps detect root and refuse to run, Play Integrity check fails
WARNING
Play Integrity bypass is a cat-and-mouse game - Google continuously updates detection. No solution is permanent.
Solutions (2026 best practices):
- Magisk: Enable Zygisk → Configure DenyList (add banking app) → Enforce DenyList
- Install Play Integrity Fix module (provides working device fingerprint)
- Install Tricky Store for advanced key attestation spoofing
- Install Shamiko (closed-source) or Zygisk Assistant (open-source) for better root hiding
- Hide the Magisk app (Settings → Hide the Magisk app → repackage with random name)
- Use Zygisk Next (alternative Zygisk implementation, works on KernelSU too)
- Clear banking app data after setting up hiding
- See detailed Play Integrity troubleshooting
TIP
On KernelSU and its forks, kernel-level hiding is stronger than userspace alone. See the SUSFS Root Hiding Guide.
NOTE
Strong Integrity (required by some wallet/payment apps) is generally not achievable on unlocked bootloaders. Even with all fixes, some apps may refuse to run. Consider using a secondary unrooted device for critical banking.
OTA Updates Failing
Symptoms: System updates fail to install or cause bootloop
Solutions:
- Magisk: Use "Restore Images" in Magisk app before OTA, then "Install to Inactive Slot" after OTA
- Flash full OTA package manually, then re-patch and re-flash root
- KernelSU: Some OTA flows survive via LKM mode, but verify after each update
- APatch: Initial A/B OTA support available (experimental)
- Consider switching to a custom ROM with built-in OTA + root support
Fastboot Not Recognized
Symptoms: Computer doesn't detect device in fastboot mode
Solutions:
- Install proper USB drivers (Windows)
- Try a USB 2.0 port (USB 3.0 often causes issues with fastboot)
- Use a high-quality data-capable USB cable (not charge-only)
- On Linux: add udev rules, run
fastbootas root or configure permissions - Try
fastboot deviceson a different computer
Emergency Recovery
Safe Mode (Disable All Modules)
If a rogue module causes bootloop:
- Hold Power + Volume Down (or your device's Safe Mode key combo) during boot
- This disables all Magisk modules temporarily
- Uninstall the problematic module and reboot
Factory Reset Protection (FRP)
FRP is an anti-theft lock that activates after a factory reset and requires the Google account that was on the device. If you are locked out:
- Sign in with the Google account that was previously synced to the device
- If you no longer have access, use Google account recovery
- If the device was bought second-hand or you cannot prove ownership, contact the manufacturer with proof of purchase
There is no supported way around FRP on a device you cannot prove you own.
Complete Brick Recovery (EDL/9008 Mode)
If device won't power on or enter any mode:
- Try Emergency Download Mode (EDL/9008) - varies by device
- Use manufacturer-specific unbrick tools (MSM Tool for OnePlus, Odin for Samsung, etc.)
- Search XDA for device-specific unbrick guides
- Professional repair may be necessary for hardware-level bricks
Prevention Tips:
- 📥 Always keep stock firmware downloaded before starting
- 💾 Create regular backups (Swift Backup, Neo Backup, recovery nandroid)
- 📖 Read your device's XDA forum thoroughly before attempting anything
- 🔑 Keep a copy of your stock
boot.imgandinit_boot.img - 🧪 Test one module at a time, reboot between installations
- 📋 Join device-specific Telegram/Discord communities for real-time help
Additional Resources
Framework and Advanced Guides
Vector / LSPosed Framework
Advanced app modification framework for rooted devices. The ecosystem has evolved: the original LSPosed was archived in January 2024, and current builds are either closed-source (lsposed.zip) or the fully open-source Vector fork.
- Vector (Recommended): GitHub - Fully open-source (GPLv3), actively maintained, supports Android 8.1–17 Beta
- LSPosed (Closed-Source): lsposed.zip - Original team's builds, API 101 stable
- Requires Zygisk (Magisk) or Zygisk Next/NeoZygisk (KernelSU)
- Enables Xposed modules for per-app customization, privacy, and UI tweaks
- API 101 is the current standard; Vector CI builds already support it
IMPORTANT
See our Complete Vector/LSPosed Guide for the full breakdown on choosing between Vector (open-source) and lsposed.zip (closed-source), installation, and module management.
Custom ROM Installation
Replace stock Android with privacy-focused custom ROMs:
- Requires unlocked bootloader and typically custom recovery
- Popular options: LineageOS, PixelOS, crDroid, GrapheneOS (now supports Zygisk Next)
- Reduces telemetry, removes bloatware, extends device lifespan
📖 Custom ROM Installation Guide
Root Hiding & Play Integrity Resources
Play Integrity is what most banking and DRM apps check, so root hiding matters after rooting. The curated tools live in the Root Hiding & Play Integrity category, and the current module stack and configuration steps are documented in Play Integrity and Banking Apps.
TIP
Check the tool list first, then follow the troubleshooting page for your root framework.
Community and Support
Official Resources
- GitHub Repository - Source code and issues
- Troubleshooting Guide - Common problems and fixes
- FAQ - Common questions
- Root Apps Collection - Curated apps and modules
- X (Twitter) Updates - Project news & updates
External Communities
- XDA Developers - Device-specific forums (largest Android modding community)
- r/AndroidRoot - Rooting help and discussion
- r/Magisk - Magisk-specific support
- r/KernelSU - KernelSU community
- Telegram Groups - Device-specific and framework-specific groups (search for your device)
When Asking for Help
Include this information for faster troubleshooting:
- Device model and exact variant (e.g., Pixel 8 Pro
husky, not just "Pixel 8") - Android version and build number (e.g., Android 16 QPR2, build BP1A)
- Root method and version (e.g., Magisk v30.7, KernelSU v3.2)
- Modules installed (list all active Magisk/KernelSU/APatch modules)
- Exact error messages (screenshots or copy-pasted text)
- Steps already tried (so helpers don't suggest things you've done)
- Screenshots of error states if applicable