[Sony Xperia 5 III] lunalsmojo:
Why does my Android 12 Xperia 5III have an Android 11 vendor image? A question I never thought I'd have to ask, to be honest...... In fact, something that I didn't really think was possible, although I have never really thought about it because I don't really see anything advantageous about it.

All in all, I dig my 5III. In my opinion, Sony hit the mark with the 5III when it comes to the pocket-friendliness/screen-siziness ratio.

But I have noticed a few things, here and there.... all very little things, yet big enough to be noticeable - a certain delay controlling bluetooth from the car stereo, things like that. I eventually got curious enough to poke around, and I found some interesting stuff and things. Here's a few noteworthy items:

1) Logcat shows a ton of odd missing permissions issues:

08-18 01:40:36.973 2498 2498 E PackageManager: Missing permissions state for com.sonymobile.xperiasystemserver and user 0

There's a bunch of these, and each one has to do with priv-app apk's on the system_ext partition. I've looked around but can't find anything that explains the "user 0" thing in a way I actually understand. I'm assuming it has something to do with apk's running in 'containers,' with their own user id, but all of these errors in logcat refer to user 0 (oh and each of these DO have a permissions file in system_ext/etc/permissions)

2) Logcat shows a ton of odd issues with overlays

08-18 01:40:36.591 2498 2498 W PackageManager: System overlay com.android.settings.product.res.overlay.orange_vowifi_non_static targets an SDK below the required SDK level of system overlays (31). This will become an install error in a future release

There's one of these for every [I think] apk found in product/overlay. When I saw this, I got to thinking.... Android 12 is SDK 31, so what's it talking about that it's targeting an SDK below 31?

3) getprop tells me different partitions are different SDK levels, or different versions of Android.

ro.system.build.version.sdk=31 ----------> Android 12, system image

ro.product.build.version.sdk=31 ---------> Android 12, product image

ro.system_ext.build.version.sdk=31 ---> Android 12, system_ext image

ro.vendor.build.version.sdk=30 -----------> Android 11, vendor image

Android 12 introduced some significant changes to the vendor image. One of which, which is a big deal for me and my use-cases, is the upgrade to the v7.0 audio HAL. As it turns out, the system image has the v7 libs, but the vendor image only has up to v6. And the audio_policy_configuration.xml isn't upgraded to the new v7 format. This is just one example, I'm sure there are more.

So I ask again, why does my Android 12 Xperia 5III have an Android 11 vendor image? What it seems like is Sony went with a pretty standard build of the CAF vendor image for lahaina (SDM888 or SM8350) SoC (CAF repo's still don't have Android 12 builds for LAHAINA) , and tossed in just enough proprietary jars and libs and binaries to discourage any real community development. Having camera issues, anyone? Well it would probably help if the system and vendor images were working from the same HAL. Instead, the system image dispatches commands on the newest HAL framework, only to bounce back and have to fallback to the older versions, which work. The vendor and system manifests even have different versions of a ton of different HALs.

So my question is simple, and it's in the title. Why is Sony using Android 11 vendor images for it's Android 12 flagships?