Android is Open Source ... Why can't we put stock KitKat on any device?

akin_t

Well-known member
Sep 29, 2014
483
0
0
Visit site
Okay so I'm new to this whole messing around with your phone thing; as a result, there are probably many concepts that I misunderstand. I'm hoping you guys can help me clear them up.

I understand what open source means. It means the source code is available for everyone to tinker with right? And we're free to make changes to it.

I understand some devices need to be rooted and have their bootloaders unlocked before custom versions of Android can be installed on them. However, once this process is complete ... Why then do we have to put CM on our devices instead of just going with stock Android?

Say I don't buy a Google Play Edition phone (say Sony Xperia Z3 for instance) but I want pure unadulterated KitKat 4.4.4 ... How do I get that?
 

zorak950

Well-known member
Feb 2, 2011
1,243
12
38
Visit site
Pure "stock" Android sucks. Google services are what makes it functional. Think of Android AOSP like a skeleton: ROMs and Google put meat on the bones. In short, nobody does pure AOSP builds of Android outside the hardcore geek community because nobody wants them.
 

SpookDroid

Ambassador
Jul 14, 2011
19,290
539
113
Visit site
You get the concept, but you're forgetting about the implementation. Not all phones are created equal. The OS is one thing, and the code is out there for anyone to tinker with, but to adapt it to your specific hardware, further modification needs to be done to the code, so you can't just load the stock ROM image (usually for a Nexus device) and expect it to work right off the bat.

That's where ROMs come into play. If someone with your phone wanted 'pure Android', they can do it! They can take the KitKat code from the repository and adapt it to the specific hardware and create a ROM. CM is just another ROM, but it took it further and made it easier for you to load it up onto most any phone.

If you look at the guides on how to load a custom ROM onto your device, you'll see that a lot of tools and obscure command lines are required, whereas CM just needs a few downloads and a bunch of clicks.

Even if you do get a Play Edition phone, SOMEONE (in this case, Google AND the manufacturer) need to adapt the original code to their hardware. That's why you can't load the Z3 Play Edition onto a Galaxy S5 Play Edition; the OS might be the same, but the hardware implementation and drivers are not.
 

akin_t

Well-known member
Sep 29, 2014
483
0
0
Visit site
Pure "stock" Android sucks. Google services are what makes it functional. Think of Android AOSP like a skeleton: ROMs and Google put meat on the bones. In short, nobody does pure AOSP builds of Android outside the hardcore geek community because nobody wants them.

Thanks for the quick reply!

So I've got a question ... I'm looking into a Moto X 2014. Isn't that pure Android though (with the exception of the helpful apps that Motorola has included)? What exactly is the difference between pure Android and what the Moto X is running? That's what I understood as pure Android.
 

akin_t

Well-known member
Sep 29, 2014
483
0
0
Visit site
You get the concept, but you're forgetting about the implementation. Not all phones are created equal. The OS is one thing, and the code is out there for anyone to tinker with, but to adapt it to your specific hardware, further modification needs to be done to the code, so you can't just load the stock ROM image (usually for a Nexus device) and expect it to work right off the bat.

That's where ROMs come into play. If someone with your phone wanted 'pure Android', they can do it! They can take the KitKat code from the repository and adapt it to the specific hardware and create a ROM. CM is just another ROM, but it took it further and made it easier for you to load it up onto most any phone.

If you look at the guides on how to load a custom ROM onto your device, you'll see that a lot of tools and obscure command lines are required, whereas CM just needs a few downloads and a bunch of clicks.

Even if you do get a Play Edition phone, SOMEONE (in this case, Google AND the manufacturer) need to adapt the original code to their hardware. That's why you can't load the Z3 Play Edition onto a Galaxy S5 Play Edition; the OS might be the same, but the hardware implementation and drivers are not.

Oh I see!

So there's another layer besides the OS that needs to be implemented! Just like how HTC One M8 has two cameras, something has to be written for the OS to take advantage of the hardware? So to put it simply, there's another layer of software that is written to make the device specific hardware interface correctly with the stock version of Android?

Is that right?
 

Aquila

Retired Moderator
Feb 24, 2012
15,904
0
0
Visit site
Mainly it's just the kernel IMO. AOSP is a little rough and you ARE allowed to build your own code and put in on whatever you want, but you'll have to add your own kernel and most things won't work (Google Services are absent, etc). zorak is right.
 

zorak950

Well-known member
Feb 2, 2011
1,243
12
38
Visit site
"Pure Android" is a misnomer. The AOSP part of Android doesn't include the Play Store, Google services sync, the Google Now launcher, just to name a few things.

The open source part of Android is a foundation. It does run, but it's lacking all the proprietary features that make Android useful. Nexus devices don't even run pure Android.

What you're thinking of is AOSP plus Google services plus whatever hardware drivers and software additions are necessary for a given device to enable special functionality. Manufacturers then add apps and bits of code on top of that to customize their user experience.
 

SpookDroid

Ambassador
Jul 14, 2011
19,290
539
113
Visit site
Oh I see!

So there's another layer besides the OS that needs to be implemented! Just like how HTC One M8 has two cameras, something has to be written for the OS to take advantage of the hardware? So to put it simply, there's another layer of software that is written to make the device specific hardware interface correctly with the stock version of Android?

Is that right?
That's right. If you remember,the M8 Google Edition had the same stuff as a Nexus, but HTC had to include their own camera, because the stock one doesn't account for the second lens, thus making a big selling point for the device pretty much useless.

The MotoX is NOT pure Android as a Nexus is (and as explained above, even that is not 'pure' Android, but it's the cleanest you can get to it). It is close, but Moto still baked in some features of their own, like the touchless services it provides.
 

Aquila

Retired Moderator
Feb 24, 2012
15,904
0
0
Visit site
Also it should be noted that an AOSP phone probably won't work on many typical network carriers. It can be made to, but out of the box it'll look like something very strange.
 

Forum statistics

Threads
943,084
Messages
6,917,188
Members
3,158,813
Latest member
pierre5463