ReKernelFlasher

Android 核心刷寫工具,支援在已 root 裝置上刷入、備份、還原 Android 核心映像檔。 基於 KernelFlasher 二次開發,由 Bacillusf 維護。

Kernel Flasher Logo


靈感

原版 KernelFlasher 對新手很不友善,沒有二次彈窗確認,容易刷錯分區,很多新手沒有備份意識,刷錯了只能無助地等待全量包...而且原倉庫已經封存,於是我做了這個分支

功能

文件/docs

使用文件(中文) Usage (English)

首頁

功能說明
裝置資訊顯示型號、建置版本、Android 版本、應用程式版本、核心版本、Root 管理員(KernelSU/Magisk/APatch)、槽位後綴、SUSFS 版本、Boot HAL 版本
重新啟動選單右上角按鈕展開,支援重新啟動至系統/Recovery/Bootloader/Download/EDL,每次帶確認彈窗

刷入

功能說明
槽位管理檢視 A/B 槽位資訊(可啟動、已標記成功、Boot SHA1、映像格式、ramdisk 資訊)
刷入 AK3 Zip選擇 AnyKernel3 相容 zip 刷入
刷入 AK3 Zip (mkbootfs)以 mkbootfs 模式刷入 AK3 zip
刷入 KernelSU 驅動程式刷入 KernelSU LKM 核心模組
刷入分區映像檔選擇 .img 檔案刷入指定分區
備份分區選擇分區備份到本機
還原備份從歷史備份還原分區
vendor_dlkm 管理掛載/卸載/映射/取消映射 vendor_dlkm 分區
檢查核心版本提取目前 boot 映像檔中的核心版本字串
操作歷史檢視所有刷入/備份/重新啟動等操作記錄

設定

功能說明
備份管理檢視和管理所有備份
更新來源新增和管理核心更新 JSON URL
自動備份開關控制,開啟後刷入分區或 AK3 前自動備份目標分區到 /sdcard/KernelFlasher-AutoBackup/
檢視自動備份記錄顯示自動備份歷史,長按可定位到檔案
儲存 ramoops儲存核心崩潰日誌
儲存 dmesg儲存核心日誌
儲存 logcat儲存系統日誌
介面縮放 (DPI)拖曳滑桿調整介面縮放比例(50%-150%),點擊套用後生效

二次確認

所有操作均有確認彈窗(帶漸入動畫),包括:

  • 刷入 AK3/映像檔/KernelSU 驅動程式 → 顯示來源路徑 → 目標分區路徑
  • 備份/還原/刪除分區
  • 重新啟動至各模式

操作歷史

  • 持久化儲存到 /sdcard/KernelFlasher/history.json
  • 記錄格式:yyyy年MM月dd日HH時 操作描述
  • 支援清除歷史

自動備份

  • 開啟後,刷入前自動 dd 提取目標分區映像檔
  • 儲存路徑:/sdcard/KernelFlasher-AutoBackup/{unix時間戳}/分區名.img
  • 同時產生 backup.yml 中繼資料和 summary.json 總索引
  • 記錄頁面長按可呼叫系統檔案管理員開啟備份檔案

技術棧

類別技術
語言Kotlin
UIJetpack Compose + Material3
架構MVVM
Rootlibsu
資料庫Room
序列化kotlinx.serialization
HTTPOkHttp + Retrofit

原生二進位檔

檔案用途
magiskbootBoot 映像檔解包/打包
lptools_static邏輯分區管理
httools_staticFstab 匯出、AVB、掛載
bootctlA/B 槽位控制
busybox通用 shell 工具集

建置

# 前置條件:JDK 21、Android SDK (compileSdk 37)
./gradlew assembleDebug   # 偵錯版
./gradlew assembleRelease # 發布版