OxygenOS for Oneplus Ace 5 Pro (hummer)
Porting OxygenOS to Oneplus Ace 5 Pro, which is only supporting ColorOS China
May 16, 2025


About the Project
The OnePlus Ace 5 Pro, a powerful device boasting cutting-edge specifications, currently graces the Chinese market exclusively with ColorOS. While ColorOS offers a feature-rich experience, many OnePlus enthusiasts outside China yearn for the familiar and beloved interface of OxygenOS. This post chronicles my personal journey into the challenging yet rewarding endeavor of porting OxygenOS to the OnePlus Ace 5 Pro.
The Porting Process
My approach to this porting project was a multi-stage process, focusing on systematically addressing the differences between the Chinese ColorOS build and a global OxygenOS counterpart (in this case, leveraging a similar recent OnePlus device as a base).
-
Environment Setup and Initial Analysis: The first crucial step involved setting up a robust development environment. This included installing the Android SDK, necessary build tools, and ensuring proper ADB and Fastboot connectivity with the OnePlus Ace 5 Pro. Following this, I meticulously analyzed the stock ColorOS ROM, identifying key system partitions, vendor blobs, and framework configurations. Comparing this structure to the target OxygenOS ROM was essential to pinpoint the areas requiring modification.
-
Base System Integration: This was arguably the most complex phase. It involved flashing the core OxygenOS system image onto the device while retaining crucial vendor and hardware-specific files from the ColorOS ROM. This step often leads to boot loops and various system instabilities, requiring careful log analysis (
adb logcat
) to diagnose and address issues. Key challenges included:- Kernel Compatibility: Ensuring the OxygenOS kernel properly interfaces with the Ace 5 Pro's hardware. This often necessitates patching or even replacing kernel modules.
- Vendor Blob Integration: Identifying and integrating essential vendor libraries (camera, Wi-Fi, Bluetooth, etc.) from ColorOS into the OxygenOS environment. Incompatibilities here can lead to non-functional hardware.
- Framework Adaptation: Modifying the Android framework (services.jar, framework.jar, etc.) to accommodate the integrated vendor blobs and resolve dependency conflicts. This often involved decompiling, patching, and recompiling smali code.
-
Feature Implementation and Bug Fixing: Once the base system was booting, the focus shifted to bringing essential OxygenOS features to life and squashing the inevitable bugs. This involved:
- UI and UX Elements: Porting OxygenOS-specific applications (launcher, settings, dialer, messaging, etc.) and ensuring they integrate seamlessly with the underlying system. This often required resource overlay adjustments and framework modifications.
- Hardware Functionality Testing: Rigorously testing all hardware components (camera, sensors, audio, connectivity) and addressing any driver or configuration issues.
- Stability and Performance Optimization: Identifying and resolving crashes, ANRs (Application Not Responding), and performance bottlenecks through extensive testing and profiling.
-
Iterative Refinement: Porting an entire operating system is rarely a linear process. It involves countless iterations of testing, debugging, and refining. Each identified issue required careful investigation, often involving log analysis, code inspection, and targeted modifications. 54 This porting endeavor is an ongoing process with its fair share of challenges and breakthroughs. While a fully stable and feature-complete OxygenOS experience on the OnePlus Ace 5 Pro is the ultimate goal, each step forward provides valuable insights into the intricacies of Android system development and the dedication of the modding community. Stay tuned for future updates on this exciting project!
Features
- Clean and Intuitive User Interface: The signature minimalist design of OxygenOS, free from excessive bloatware.
- Fluid Performance: Optimized system performance and smooth animations characteristic of OxygenOS.
- OxygenOS Specific Applications: Including the OnePlus Launcher, Gallery, File Manager, and other familiar apps.
- Advanced Customization Options: Providing access to OxygenOS's customization features, such as accent colors, icon packs, and quick setting tiles.
- Robust Notification Management: The streamlined and customizable notification system of OxygenOS.
- Potentially Enhanced Update Cycle: While not guaranteed, the aim is to facilitate easier future updates by aligning with a global OxygenOS codebase.
Technologies Used
- Shell Scripting (Bash): Used extensively for automating repetitive tasks, such as:
- File management (copying, pushing, pulling files).
- Executing ADB and Fastboot commands.
- Building and flashing modified images.
- Automating log collection and analysis.
- Python: Employed for more complex tasks, including:
- Parsing and analyzing log files for debugging.
- Automating modifications to configuration files (e.g., XML).
- Creating scripts to streamline the process of decompiling, patching, and recompiling Android framework files.
- Generating reports and tracking progress.
- Android Debug Bridge (ADB): Essential for communication with the device, including:
- Installing and uninstalling applications.
- Pulling and pushing files.
- Capturing logs (logcat).
- Executing shell commands on the device.
- Fastboot: Used for flashing firmware images and performing bootloader-related operations.
- Smali/Baksmali: Tools for disassembling and assembling Dalvik bytecode, crucial for modifying Android framework and application code.
- Text Editors (e.g., Vim, VS Code): Indispensable for editing configuration files, scripts, and code.
- Android SDK Build Tools: Necessary for compiling and building Android ROMs and related components.