Not registered yet?
Register now! It is easy and done in 1 minute and gives you access to special discounts and much more!
By Uri Herrera
I'd like to know what's the difference between these two.
What are the Advantages or Disadvantages of using a AOSP ROM vs a Stock ROM?
Is it just the Theme/Skin/UI and Bloatware that's different or is there something else?
I think sometimes a practical answer helps clear things up, this will not be as technical as the other answers, but more so a real world example.
I have a T-Mobile Galaxy s5.
The XDA page can be found here
When looking for Roms there are 2 main categories :
T-MOBILE GALAXY S 5 ANDROID DEVELOPMENT
This category is all "stock" roms. The code base is the TouchWiz Samsung ROM usually stripped of bloatware and optimised in some way.
SAMSUNG GALAXY S 5 UNIFIED DEVELOPMENT
This category is all "AOSP" roms. All the ROMS here are built from the Android Open Source Project Code and modified/optimized for the Galaxy S5 (Any Variant). The reason it is "unified" is because any AOSP ROM for an S5 should work on ALL S5's, but with heavily modified roms like the "Stock/TouchWiz" they are generally optimized/driver specific for each model of the samsung galaxy s5.
A stock ROM is the ROM that comes with a device; the device is "stocked" with that ROM by the manufacturer. Android is generally customized by the manufacturer to some degree; at minimum there needs to be device-specific drivers and so on for Android to work on a particular device. As Flow notes, customizations may include a custom theme, launcher, and default apps like HTC Sense does.
An AOSP ROM is a ROM based on the Android Open Source Project. In the purest sense, AOSP refers to unmodified ROMs or code from Google. The name is often co-opted for custom ROMs that are very close to the original AOSP, since these ROMs still need to be customized; for example, I can't download/compile the Android source code and run it on my Samsung Vibrant without doing a whole lot of customizations. The name is often abused to refer to ROMs that don't have a custom launcher or many of the other modifications carriers make with Sense, TouchWiz, Motoblur et al., although they may still be themed. A more accurate name for plain, mostly-unaltered ROMs for non-Google devices is probably "vanilla ROMs". (This distinction is part of our tagging policy here; see this Meta discussion for more info.)
Techncially, stock ROMs are all AOSP ROMs apart from the versions of Android that haven't been released. Honeycomb ROMs aren't AOSP, but (for example) Gingerbread ROMs are AOSP since the 2.3 source code is available at http://source.android.com/. (That assumes Google hasn't hidden parts of the code and given it to manufacturers secretly.)
To further add to the confusion, a "custom ROM" does not refer to customized ROMs in general. That term specifically refers to ROMs that have been customized by third parties (i.e., not the manufacturers or carriers). For example, I'm running a custom ROM that is just a re-themed and tweaked stock ROM. CyanogenMod is another example, and it has many features built from the ground up rather than mere tweaks. Most AOSP ROMs you'll find for a specific device are stock ROMs that have been customized to remove some of the manufacturer/carrier tweaks and make them closer to the pure AOSP experience.
Why don't they use the same drivers? is the implementation across both roms different?
@UriHerrera Drivers are often not made open source, and are not part of the Android Open Source Project.
I think the third paragraph should be removed. Arguing that every stock rom is also an AOSP rom might be confusing for people who just want to know what to expect from roms tagged as stock based vs. AOSP based on sites like xda-developers - and if you stretch it a little, by this logic you can call all android roms linux distributions.
@Mihic You're assuming XDA et al. is consistent with how they use AOSP which I don't think they are. The rest of my post should provide some indication of the differences however.
You are right, people stick all kinds of tags to their roms just to get attention. :S
Technically the third paragraph is no longer correct, as some OEMs choose to provide stock roms from forks like CyanogenMod instead of AOSP. So you'd have to say 99% of stock ROMs are AOSP ROMs.
@Mihic I'm trying to get Marshmallow and XDA says you need "a stock based rom" what does "based" mean? Does CM count?
@Celeritas CM definitely does not. You need an actual stock ROM or something with minor modifications from it (that are made at the file level, like custom themes or removed bloatware). CM is built from the ground up separate from any manufacturer's ROMs.
It depends on the manufacturer. One does more customization then others. Prominent examples are TouchWiz from Samsung and Sense from HTC. While the two are mostly UI changes, there are also cases where additional functionality is added to the ROM, like Bluetooth Tether and full system encryption, which nowadays are features provided by AOSP. Others make only small changes to vanilla Android.
But in general I would say it mostly the theme, skin, UI and the pre-installed apps that differ from ASOP. On the other hand, it is nearly impossible to make a absolute statement. The differences vary from manufacturer and model.