A dirty flash updates your ROM while keeping all your apps, settings, and data intact. Faster than clean flash but riskier.
β Safe: point releases (12.0 β 12.1), same ROM branch, same device
β Risky: major versions (11 β 12), ROM switches, different base version
# Backup critical data
adb backup -apk -shared -all -f backup.ab
# Create TWRP backup
# (in recovery: Backup tab)1. Download new ROM zip for your device
2. Reboot to recovery (TWRP or LineageOS Recovery)
3. Flash the new ROM zip
4. **Skip wiping data/cache** β go directly to install
5. Optional: Flash Magisk (if using root)
6. RebootRecovery β Install β select ROM.zip β Swipe to confirm
(don't wipe, don't factory reset, just install)
β Reboot
Recovery β Apply update from ADB
adb sideload ROM.zip
| Issue | Fix |
|---|---|
| Bootloop | Wipe /cache and /dalvik-cache, reboot. If still broken, clean flash. |
| Slow boot | Run adb shell pm compile -r bg-dexopt to recompile packages |
| App crashes | Clear app caches: adb shell pm clear <package> |
| WiFi/BT broken | Reboot, check system logs with adb logcat |
| Google Play broken | Clear Play Services: adb shell pm clear com.google.android.gms |
If dirty flash breaks your system:
adb reboot bootloader
fastboot getvar current-slot
fastboot set_active a # or b (opposite of current)
adb reboot# Boot to recovery and select Factory Reset
# Then install ROM againadb reboot bootloader
fastboot flash system system.img
fastboot flash -w
fastboot rebootLineageOS A/B users can update without losing Magisk:
# In recovery:
1. Install ROM zip
2. Install Magisk zip
3. Boot (Magisk patched the new boot.img automatically)- Backup important data
- Check device codename matches ROM
- Verify ROM release notes for known issues
- Keep TWRP backup available
- Have original firmware available
- Don't dirty flash across major versions
Golden rule: If you're unsure, do a clean flash. Data is replaceable; broken device is not.