After some length of time, the manufacturer of the device decided to stop building updated system images for that model of phone.
This sometimes can be caused by a chipset vendor also refusing to support older hardware, but also often can just be an issue that a manufacturer decides the device is beyond it’s design life and stops support after so many years.
The android System in general is developed by Google. However to make it run on a specific smartphone, the manufacturers still have to adapt it to the hardware by adding drivers, configuring the system, etc.
And many vendors do some larger changes to the android base system (changing user Interfaces, and so on), which make producing a new Android version for a smartphone even more difficult (meaning expensive).
And a company will not take these costs for developing and testing a new version for an older Smartphone which have no active sells anymore, unless it matches some kind of business plan (e.g. if you advertise yourself as a phone vendor with long support).
For many smartphones there are community driven firmwares, where other people do the work of adapting a new Android version to a specific hardware instead of the manufacturer. However you need to find someone willing to do that (and publish it in the internet), and even then some requirements needs to be fulfilled (you must be able to run a system which is not developed by the phone manufacturer and the manufacturer must have released some certain info about their hard and software).
The manufacturer has no incentive to update the OS, it’s not just a matter of loading the new version of Android. After the phone has lived it’s normal course of life, the software just gets abandoned, if they even pushed out any updates at all.
Sometimes the enthusiast community steps in. Either to extend the life of phones, to flex that a project can be done, or for other purposes. Like so https://www.xda-developers.com/samsung-galaxy-s-ii-android-12-custom-rom/
Aside from other comments, I’ll try to do it eli5
Image you have factory for producing lightbulbs. Every year the lamp manufacturer changes lamp to a different shape.
First year you are making square bulbs for square lamps.
Second year are making round bulbs for round lamps, but still square bulbs for people, that have last year lamp.
Third year triangle bulbs for new triangle lamps, but you still need to make old shapes for people who are using old lamps.
After many years you are making ton of shapes, but only 1% of people have those square lamps… So you decide it’s no longer beneficial to support them and focus on producing modern shapes.
Now imagine that you are making both lamps and bulbs, 100 different each year. Bulb filament is still mostly the same, just shape isn’t
>! filament=kernel android, bulb = build android, lamp = device!<
The hardware is not good enough. It’s easy to forget that a phone that runs well when the entire internet is filled with 0.3 megapixel pictures simply can’t load 4k or 8k UHD video. Every year, media is becoming higher quality on the internet, and a phone from 5 years ago will have trouble keeping up with the latest higher quality instagram photos and videos. There is nothing wrong with the original hardware, but people are not willing to give up a higher quality internet.
The answers are _kinda right_, but not really.
Turns out, most hardware don’t change that much; it’s not like _every Samsumg phone_ will have a different camera driver, a different “system on a chip” driver, etc; in fact, if you look at LineageOS website (an Android distribution that allows to upgrade some old phones) you’ll see some info about the hardware of the supported devices; an example, I got some random Samsung phones, and F62 and Node 10+ have almost the same hardware, but the Galaxy 10+ only have official upgrades to Android 12, and the F62, to 13.
Drivers are not an issue – it’s hard to think that Samsung, that produces their own hardware, will not make the drivers _very close_ to the point that porting is really easy; it’s naïve to think that they don’t reuse 80% or more of the drivers between devices (first, because it lowers costs, but more specifically because of bugs – if you fix a bug in a single driver, you fixed for multiple devices with different hardware).
The issue is – if you have a perfectly capable device that works, and you can upgrade to the newest Android… why should you buy a new device? Speaking from the point of someone that installed multiple unofficial Android systems on at least four cellphones, they work fine, don’t drain battery faster, and most of the time the performance hit is minimal – so why change? So what they do is, they don’t offer updates, overcharge repairs, etc… that is their way of “phasing out” older models.
Can’t directly speak for androids, but iPhones receive the latest iOS updates for as long as the hardware allows, and the breaking point is when new hardware is added to new iPhones such as sensors (touchid, faceid), after that catering for the older devices isn’t worth it since they would need two separate iOS versions to distribute, I imagine with Androids this is the same, no reason to add support for older devices when the same software can’t be used.
Sure features can be turned on and off, but adding more constraints to the software decreases performance, and then you get comments “they are INTENTIONALLY making my phone slower”… to literally prevent it from crashing. So just dropping support makes the most financial sense and PR sense.
Latest Answers