• Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.

Hard to make a Android Update

Joined
Mar 6, 2017
Messages
3,209 (1.23/day)
Location
North East Ohio, USA
System Name My Ryzen 7 7700X Super Computer
Processor AMD Ryzen 7 7700X
Motherboard Gigabyte B650 Aorus Elite AX
Cooling DeepCool AK620 with Arctic Silver 5
Memory 2x16GB G.Skill Trident Z5 NEO DDR5 EXPO (CL30)
Video Card(s) XFX AMD Radeon RX 7900 GRE
Storage Samsung 980 EVO 1 TB NVMe SSD (System Drive), Samsung 970 EVO 500 GB NVMe SSD (Game Drive)
Display(s) Acer Nitro XV272U (DisplayPort) and Acer Nitro XV270U (DisplayPort)
Case Lian Li LANCOOL II MESH C
Audio Device(s) On-Board Sound / Sony WH-XB910N Bluetooth Headphones
Power Supply MSI A850GF
Mouse Logitech M705
Keyboard Steelseries
Software Windows 11 Pro 64-bit
Benchmark Scores https://valid.x86.fr/liwjs3
That's what you get from a strategy that prioritizes rapid introduction of new "features" at the expense of long term stability. Which is sadly is becoming the trend with most major vendors these days (Looking at you, Microsoft).
It also comes from the fact that in Android there's no real API framework to plug stuff into the system with. As I stated before with Windows, if you want to add something to Windows all you need to do is add a DLL or add some stuff to the Registry and you are done. From a purely technical point of view Windows is superior in every way to other operating systems because it allows for a lot of customization without having to do anything with core code. Even the driver framework of Windows is superior to Linux because drivers aren't part of the kernel, they're loaded into kernel-space at kernel initialization time. This of course make it so that drivers that were for Windows 7 can (in theory) work in Windows 10. This is brought about by what is sometimes referred to as an ABI or Application Binary Interface, Linux does not have one.

Had Google shipped Android with a skinning engine of sorts (think WindowBlinds) you could build your entire UI in XML and have that XML file loaded at boot time thus completely changing the way the whole entire UI is displayed to the user along with an extension system similar to what every single modern web browser has to extend the system. This, unfortunately, wasn't done when Android was released and that's why adding just about anything to Android is a complete pain in the ass. Google desperately needs to build these frameworks so that you can change everything about Android without having to touch core Android code, the moment you touch the core code is the moment you make patching a complete headache.

If you look at how Apple does things with iOS you'll see what I mean. Things like PhoneKit, ARKit, and the various other "kits" that iOS has that allows apps to plug into iOS without having to change core iOS code. Think of all of these "kits" as nothing more than an extension framework that allows apps to do things and plug into the OS. This, from a purely technical standpoint, is superior in every way to having to hack stuff into the core code of the OS. Google has learned this lesson the hard way and you can see this in Android Oreo, though they are baby steps.
 
Last edited:
Joined
Jan 10, 2011
Messages
1,326 (0.27/day)
Location
[Formerly] Khartoum, Sudan.
System Name 192.168.1.1~192.168.1.100
Processor AMD Ryzen5 5600G.
Motherboard Gigabyte B550m DS3H.
Cooling AMD Wraith Stealth.
Memory 16GB Crucial DDR4.
Video Card(s) Gigabyte GTX 1080 OC (Underclocked, underpowered).
Storage Samsung 980 NVME 500GB && Assortment of SSDs.
Display(s) LG 24MK430 primary && Samsung S24D590 secondary
Case Corsair Graphite 780T.
Audio Device(s) On-Board.
Power Supply SeaSonic CORE GM-650.
Mouse Coolermaster MM530.
Keyboard Kingston HyperX Alloy FPS.
VR HMD A pair of OP spectacles.
Software Ubuntu 22.04 LTS.
Benchmark Scores Me no know English. What bench mean? Bench like one sit on?
From a purely technical point of view Windows is superior in every way to other operating systems because it allows for a lot of customization without having to do anything with core code.
Wasn't modularity a mantra for Linux?

Even the driver framework of Windows is superior to Linux because drivers aren't part of the kernel, they're loaded into kernel-space at kernel initialization time.
Correct me if I'm wrong, but I isn't this true for all micro and hybrid kernel systems?

If you look at how Apple does things with iOS you'll see what I mean. Things like PhoneKit, ARKit, and the various other "kits" that iOS has that allows apps to plug into iOS without having to change core iOS code. Think of all of these "kits" as nothing more than an extension framework that allows apps to do things and plug into the OS. This, from a purely technical standpoint, is superior in every way to having to hack stuff into the core code of the OS. Google has learned this lesson the hard way and you can see this in Android Oreo, though they are baby steps.

The way you put it makes me think more of user-space applications than stuff the are directly implemented in the kernel, which is basically what you can do with the standard Android SDK and its API(s), no?
 
Joined
Mar 6, 2017
Messages
3,209 (1.23/day)
Location
North East Ohio, USA
System Name My Ryzen 7 7700X Super Computer
Processor AMD Ryzen 7 7700X
Motherboard Gigabyte B650 Aorus Elite AX
Cooling DeepCool AK620 with Arctic Silver 5
Memory 2x16GB G.Skill Trident Z5 NEO DDR5 EXPO (CL30)
Video Card(s) XFX AMD Radeon RX 7900 GRE
Storage Samsung 980 EVO 1 TB NVMe SSD (System Drive), Samsung 970 EVO 500 GB NVMe SSD (Game Drive)
Display(s) Acer Nitro XV272U (DisplayPort) and Acer Nitro XV270U (DisplayPort)
Case Lian Li LANCOOL II MESH C
Audio Device(s) On-Board Sound / Sony WH-XB910N Bluetooth Headphones
Power Supply MSI A850GF
Mouse Logitech M705
Keyboard Steelseries
Software Windows 11 Pro 64-bit
Benchmark Scores https://valid.x86.fr/liwjs3
Wasn't modularity a mantra for Linux?
Linux userland is like that but for the most part the kernel isn't.
Correct me if I'm wrong, but I isn't this true for all micro and hybrid kernel systems?
Linux much prefers you to compile drivers directly into the kernel, they even prefer you to submit your driver's source code to the kernel source tree so that they can support it if and when the kernel APIs change which can often break drivers. Yes, they do allow binary only drivers but much of the community frowns upon them (to say the least).

Obviously companies like Qualcomm, nVidia, AMD and the like wouldn't want their crown jewels to be out there for all the world to see so generally they only release drivers are binary only drivers which if you upgrade the kernel you'll more than likely end up breaking said driver in the process. That's generally why you'll find that most Android devices share a common Linux kernel version because of things like SoC drivers.
The way you put it makes me think more of user-space applications than stuff the are directly implemented in the kernel, which is basically what you can do with the standard Android SDK and its API(s), no?
If that was the case than why the hell do we have things like TouchWiz, SensiUI, and the like that pretty much bastardizes Android to the point where it's a shell of its former self? If there was truly an API to extend and customize Android in the ways I envision it should be done there would not be a need for things like TouchWiz, SensiUI, and the like; all the changes would be done in a sort of Android skinning engine with XML and anything else would be loaded like Chrome extensions. That right there would make patching infinitely much easier to do so since no core code was changed.

That's the problem with a lot of Android. Applying patches all the while making sure that it doesn't break your custom code is a complete pain in the ass. This needs to change if Android is to evolve into a modern modular operating system which at this point is far from it. There are rumors that something called Google Fuchsia is going to be more modular and replace Android but that's years from now, it's still very young and not even close to replacing Android and until that happens Android is going to continue to be the mess that it is.
 
Joined
Feb 12, 2018
Messages
49 (0.02/day)
Processor AMD A6
Memory 8 GB DDR3
Video Card(s) Asus R9 270x
Storage 6TB
Display(s) HP
Case No Name
Audio Device(s) Realtek (integrated)
Power Supply Corsair 600CX
Mouse Logitech
Keyboard Logitech
One issue is the various kernel versions being used on many Android powered devices. Not all drivers or environment attributes work across the board. It seems like phone/tablet manufacturers don't take charge with rewriting "special" drivers (if needed) and testing them with newer kernels (which usually goes hand-in-hand with newer versions of Android). It takes more work than most manufacturers are willing to invest (like no name brands or less common phone/tablet manufacturers). Company like Samsung for example, provides updates (and some times upgrades), but Samsung has a large user base. As others have stated above, even company's like Samsung do seem to take their time after Google releases updates. Just my thoughts...
 
Top