Tweaking Oxygenos on Oneplus 10 Pro
I recently picked up a OnePlus 10 pro. It seems to be one of the most feature-rich modern phones on the market right now. It has loads of memory and should receive updates until 2026 so although the price is rather steep, I should be good for at least 4 years, unlike the Pixel 3a XL that I purchased 2 years ago which is already no longer receiving updates and which is continuously running out of storage memory. Despite the lower price, it was not a good investment.
But you don’t just by a phone, you also buy a flavor of Android. The OnePlus I knew had Cyanogen as its rom which was really clean and minimal.
Later they switched to their own OxygenOS and now their OxygenOS has merged with OPPO’s ColorOS which I, in the past, didn’t really like.
You see, ColorOS/OxygenOS is a bit spammy. What annoyed me the most in the past was the persistent login/signup nagging in the settings screen. OnePlus wants you to register for their oneplus services but the advantages are completely unclear to me, and the disadvantages are obvious. So each time you need to go to settings I get nagged by half ⅓rd of the screen being filled with a signup form that I am simply not interested in. I decided to accept that for now though, but when my phone kept interrupting with “Quick device connect” notifications and searching for it (what it does, how to disable) revealed that it was a battery drain, I decided it was time for some cleanup
“Quick Device connect” and some other useless apps can’t (always) be removed through the settings/apps menu, at best they can be disabled but sometimes not even that. But you often can remove them through
adb. The process is actually quite simple.
The cleanup requires some shell interaction, either on MacOS or linux. Make sure you’re comfortable with that. And this is, of course, at your own risk. Make sure you have a backup. A factory restore should fix your phone if something goes wrong but you would lose data.
adb is the Android debugging bridge. Instructions on how to install it can be found here. You only need the adb binary, so on MacOS just unzip the file and get the
Connecting the device
Connect your phone to your laptop. Since it’s the only device there’s no need to specify any details. In the terminal, connect to a shell on the phone using
$ adb shell
You can list all installed pacakges using
(note the p255|OP516FL1 prompt - this means it’s the adb shell on your phone)
p255|OP516FL1:/ $ pm list packages
Remove packages, attempt #1
The packages I wanted to remove, at least, were
This should get rid of, at least, device connect and the settings signup. This seemed to work partially:
255|OP516FL1:/ $ pm uninstall com.oneplus.membership Success pm uninstall --user 0 com.heytap.accessory Failure [DELETE_FAILED_INTERNAL_ERROR]
The first package claimed to have succeeded (spoiler: it was still there), the second failed for unknown reasons (the error might be slightly different from what I show here. It was rather undescriptive at least)
Remove packages, attempt #2
The trick is to uninstall as the root user or for the root user, at least I assume that is what the flag
--user 0 means. Rerunning these packages with this flag did indeed remove all of the packages. Victory!
255|OP516FL1:/ $ pm uninstall --user 0 com.oneplus.membership Success 255|OP516FL1:/ $ pm uninstall --user 0 com.oneplus.account Success 255|OP516FL1:/ $ pm uninstall --user 0 com.heytap.accessory Success
pm list packages shows more candidates for cleanup. I removed some of these, try them yourself at your own risk.
1|OP516FL1:/ $ pm list packages | grep onep package:com.oneplus.calculator package:net.oneplus.weather package:com.oneplus.note package:com.oneplus.opscout package:com.oneplus.opshelf package:com.oneplus.soundrecorder package:com.oneplus.brickmode package:com.oneplus.deskclock package:com.oneplus.setupwizard package:com.oneplus.backuprestore package:com.oneplus.gallery package:net.oneplus.push package:net.oneplus.forums package:net.oneplus.widget package:com.oneplus.filemanager package:com.oplus.framework.rro.oneplus package:com.oneplus.canvasresources package:com.oneplus.opwlb package:android.autoinstalls.config.oneplus package:android.framework.res.rro.oneplus
Restarting the phone and gone is the waste of settings space and device connect notifications!