Why does android need to be ported to each phone/device? What stops android from having a common version given all android phones use the ARM architecture?
-
Why can't it be done when it is possible in case of desktop operating systems? Desktop operating systems usually work out of the box on all x86/x64 powered devices despite being manufactured by different vendors. Why can't this be done with android? What are the changes that are done to the code to port android to a device? How does this prevent having a common version of android installable across all devices?
-
Answer:
The difference between windows and android on this issue is as foll...
Anonymous at Quora Visit the source
Other answers
It's not a matter of a common runtime, but a question of drivers. Your comparison to x86 operating systems is valid, but it misses some nuances in this case; desktop and laptop hardware has, by and large, solidified on some basic standards and methods for interaction, largely because of the comparative maturity of the platform-and openness when it comes to those standards. This is not present in the mobile space because it's much newer and going through a phase of breakneck development and refinement, and because many parts are of a proprietary nature. Yes, mobile phones are almost all based off of the ARM architecture--but there are at least five or six major manufacturers out there (Apple, Samsung, Qualcomm, nVidia, TI, AMD, Intel is joining...), each with their own optimizations and quirks. Android is capable of operating on each one, but specific drivers may improve performance. Now, toss in the cell radios, which may or may not be integrated with the ARM chip on the SoC; wifi networking; displays, from OLED to AMOLED to LCD to IPS LCD, among others; advanced graphics; audio processing; touchscreen drivers; hardware sensors; physical keyboards; batteries... Many of those haven't come to a common standard on the interface with the OS level, and require drivers to operate and interact with them. Drivers which are not open source. Drivers which may only be updated occasionally to be compatible with the OS's API. This used to be a far more noticeable problem in the x86 world, particularly with Linux. It used to be inordinately difficult to get WiFi working because not all manufacturers (ahem, Broadcom) made it easy, forcing enterprising programmers to reverse engineer drivers. Graphics had some issues (nVidia, ATI) for similar reasons. This is primarily what they mean when they talk about porting--between versions of Android, whether or not the OS has seen major changes to the HAL, you're reliant on the manufacturer ensuring the drivers are updated; in turn, they depend on the component manufacturers. And this is before we get to the skins the phone manufacturers install, and before we get to the carriers doing their thing.
Anonymous
Porting? Porting has little or nothing to do with this problem. The main problem is firmware and driver support for various hardware elements - the radio, the the various sensors, etc. Android would work out of the box on ARM systems, but without driver support for the rest of the hardware, even the touchscreens, you wouldn't be able to use it. Most desktop OSes have basic drivers bundled, which allows them to work well straight away (think back to the Windows XP - or 98 - era, or how even Ubuntu had problems just a few years back). Note that x86-64 is the instruction set for the CPU, and any program whose code was generated for that instruction set will run fine on all x86-64 CPUs. At any rate, there are only two major manufacturers of x86-64 CPUs. You seem to be confused as to what the x86-64 and ARM mean for the OS. (Hint: very little. Once the porting has been done, it needn't be done again unless the instruction set changes - and that is very, very rare.) Few devices have their firmware and drivers publicly available - the Nexus devices all do. The mobile hardware space is evolving rapidly. The desktop space isn't - you can get a fairly good idea of which devices are likely to be present within more than 99% of a newly manufactured computer today. Given a few more years, when mobile hardware stagnates, maybe barebones drivers can be included in Android. The secondary problem is that many manufacturers put their own skin on Android (like TouchWiz, Sense, TimeScape) which tightly integrates with the particular version running. This skin has to ported to each version, and that, my friend, is not the fault of Android. That is why updates are delayed for most devices.
Murukesh Mohanan
Related Q & A:
- How to update Android OS on a device through an App?Best solution by Stack Overflow
- What's the difference between a US version PSP and a Japan version PSP?Best solution by Yahoo! Answers
- What is the best bluetooth home phone device?Best solution by bluetooth.com
- What is the difference between a literary device and a rhetorical device?Best solution by enotes.com
- Is a skype phone cheaper than a common landline phone?Best solution by Yahoo! Answers
Just Added Q & A:
- How many active mobile subscribers are there in China?Best solution by Quora
- How to find the right vacation?Best solution by bookit.com
- How To Make Your Own Primer?Best solution by thekrazycouponlady.com
- How do you get the domain & range?Best solution by ChaCha
- How do you open pop up blockers?Best solution by Yahoo! Answers
For every problem there is a solution! Proved by Solucija.
-
Got an issue and looking for advice?
-
Ask Solucija to search every corner of the Web for help.
-
Get workable solutions and helpful tips in a moment.
Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.