ReKernelFlasher
An Android kernel flashing tool. Flash, back up and restore Android kernel images on rooted devices.
A fork of KernelFlasher, maintained by Bacillusf.

Motivation
The original KernelFlasher is not very beginner-friendly: there is no confirmation dialog, it is easy to flash the wrong partition, and many newcomers have no backup habit — flash the wrong thing once and you can only wait helplessly for a full OTA package. The original repository is also archived, so this fork exists.
Features
Docs
Usage
Home
| Feature | Description |
|---|
| Device info | Model, build version, Android version, app version, kernel version, root manager (KernelSU/Magisk/APatch), slot suffix, SUSFS version, Boot HAL version |
| Reboot menu | Opened from the top-right button; reboot to system / Recovery / Bootloader / Download / EDL, each with a confirmation dialog |
Flash
| Feature | Description |
|---|
| Slot management | View A/B slot info (bootable, marked successful, boot SHA1, image format, ramdisk info) |
| Flash AK3 Zip | Pick an AnyKernel3-compatible zip and flash it |
| Flash AK3 Zip (mkbootfs) | Flash an AK3 zip in mkbootfs mode |
| Flash KernelSU driver | Flash the KernelSU LKM kernel module |
| Flash partition image | Pick a .img file and flash it to a chosen partition |
| Back up partition | Back up a chosen partition to local storage |
| Restore backup | Restore a partition from a previous backup |
| vendor_dlkm management | Mount / unmount / map / unmap the vendor_dlkm partition |
| Check kernel version | Extract the kernel version string from the current boot image |
| Operation history | View all flash / backup / reboot operations |
Settings
| Feature | Description |
|---|
| Backup management | View and manage all backups |
| Update sources | Add and manage kernel update JSON URLs |
| Auto backup | Toggle; when on, the target partition is backed up before flashing a partition or AK3, into /sdcard/KernelFlasher-AutoBackup/ |
| View auto-backup records | Show auto-backup history; long-press to locate the file |
| Save ramoops | Save kernel crash logs |
| Save dmesg | Save kernel logs |
| Save logcat | Save system logs |
| UI scale (DPI) | Drag the slider to scale the UI (50%–150%); tap Apply to take effect |
Confirmation
Every operation has a confirmation dialog (with fade-in animation), including:
- Flash AK3 / image / KernelSU driver → shows source path → target partition path
- Back up / restore / delete a partition
- Reboot to each mode
Operation history
- Persisted to
/sdcard/KernelFlasher/history.json - Record format:
yyyy年MM月dd日HH时 <description> - History can be cleared
Auto backup
- When enabled, the target partition is extracted with
dd before flashing - Save path:
/sdcard/KernelFlasher-AutoBackup/{unix timestamp}/<partition>.img - Also generates
backup.yml metadata and a summary.json index - Long-press a record to open the backup file with the system file manager
Tech stack
| Category | Technology |
|---|
| Language | Kotlin |
| UI | Jetpack Compose + Material3 |
| Architecture | MVVM |
| Root | libsu |
| Database | Room |
| Serialization | kotlinx.serialization |
| HTTP | OkHttp + Retrofit |
Native binaries
| File | Purpose |
|---|
| magiskboot | Unpack / repack boot images |
| lptools_static | Logical partition management |
| httools_static | Fstab export, AVB, mounting |
| bootctl | A/B slot control |
| busybox | General shell utilities |
Build
# Requirements: JDK 21, Android SDK (compileSdk 37)
./gradlew assembleDebug # debug
./gradlew assembleRelease # release