[OnePlus 12] snowwolf725:
I. Introduction

The OTA flashing tool is a recovery flashable zip can be used to flash the official OTA full package within TWRP.

Credits:

淡存@CoolAPK for the OTA flashing tool

II. Tutorial

1. First, unlock bootloader and flash TWRP or other third-party recovery such as PBRP.

TWRP:

[RECOVERY] [12] [UNOFFICIAL] TeamWin Recovery Project

Introduction: Team Win Recovery Project or TWRP for short, is a custom recovery built with ease of use and customization in mind. We started from the ground up by taking AOSP recovery and loading it with the standard recovery options, then added...

xdaforums.com

PBRP:

Release waffle-PBRP-9109422738 · snowwolf725/Action-TWRP-Builder-Waffle

Manifest: android-12.1 Device: waffle Target: Android 14

github.com

View attachment 6104186

2. Copy the OTA flashing tool and the OTA full package (incremental OTA are not supported) into your phone's storage. Rename the full OTA zip to update.zip. It should look like this.

View attachment 6104187

3. Select the FlashTool.zip to start the process.

View attachment 6117967

4. Flashing

View attachment 6104192

5. Flashing is complete.

View attachment 6104194

Due to partition changes after cross-version upgrades or downgrades, TWRP might fail to mount partitions, which is normal and indicated by red text.

6. (Optional) If you want to root your device, you can also flash the KernelSU package I provided. After flashing, install the KernelSU Manager APK in the system to complete the root process.

Releases · snowwolf725/KernelSU_LKM_For_Oneplus12

KernelSU LKM module for Oneplus12. Contribute to snowwolf725/KernelSU_LKM_For_Oneplus12 development by creating an account on GitHub.

github.com

View attachment 6104195

7. Generally, when downgrading or switching between ColorOS and OxygenOS, you need to format the userdata partition, otherwise, it may get stuck during booting.

(Of course, you can take a chance; if the version difference isn't too large, it might boot without clearing data.

I have tried flashing from the global version to the US version without clearing data and it booted fine.)

View attachment 6104196View attachment 6104197View attachment 6104198

8. At this point, the system conversion and root are complete, and you can reboot your device.

Additionally, this script does not flash the recovery partition, so there's no need to prevent TWRP from being overwritten by the official recovery.

It also does not flash the my_preload and my_company partition. Flashing or not flashing these partition generally doesn't have much impact. If you care about this, you can refer to the methods below.

III. About my_preload and my_company

The my_company partition is an empty partition.

The my_preload partition contains pre-installed apps like Taobao and Meituan for the Chinese version, or Netflix for the international version. Flashing or not flashing this partition generally doesn't have much impact.

Since the full package generally does not include these two partitions, the script extracts these partitions from your phone to combine them into the super partition and flash it. However, this may result in OxygenOS pre-loading Taobao or ColorOS pre-loading Netflix.

The solution is simple and there are two methods:

Method 1: Enter fastbootd mode (note, not fastboot mode), download the my_preload.img and my_company.img for your device, then use the following commands to flash the my_preload and my_company partitions.

fastboot flash my_preload my_preload.img
fastboot flash my_company my_company.img

Method 2: Download the flashing package with my_preload.img and my_company.img, and simply flash it.

Download link:

Google Drive - Virus scan warning

drive.usercontent.google.com

IV. Notes

1. Do it at your own risk.

Please ensure you backup your data. I am not responsible for any issues caused by using this flashing tool.

2. Do not lock bootloader after Flashing Complete setup first .

2. Although it is not mandatory to clear the userdata partition, it is recommended to do so after downgrading versions or switching between ColorOS and OxygenOS. Otherwise, you may experience boot loop issues or black screen.

3. Since some operations might not be fully updated officially, it is recommended to use the system's built-in local update feature to flash the full package of the same version again to ensure system stability.

4. In theory, this method can also be used on OnePlus 11/ OnePlus 12R(ACE3) and other VAB devices. However, I have only tested it on OnePlus 12 and have not tested it on other device.