Take the 2-minute tour ×
Android Enthusiasts Stack Exchange is a question and answer site for enthusiasts and power users of the Android operating system. It's 100% free, no registration required.

What is the main reason that you can't upgrade your phone to new Android version?

Is it the lack of drivers, or simply hardware limitation? Are there other aspects?

share|improve this question
add comment

migrated from superuser.com Apr 15 '11 at 21:47

This question came from our site for computer enthusiasts and power users.

3 Answers

up vote 7 down vote accepted

Somebody needs to write and test the drivers and core apps. That's all.

Most applications that are written for Dalvik (i.e. most apk programs) are pretty portable across different Android versions, but not so much for core programs that were written in C, the Linux kernels and drivers, and the Dalvik VM itself. At the very least, these programs need to be recompiled; occasionally, the new Android version may require new capabilities from the drivers, and someone will need to write the code for them.

Additionally, for official releases, manufacturers and carriers often adds value-added customizations; these customizations need to be ported, tested, and often debugged against the new framework. In deciding whether to write upgrades, manufacturers (and to certain extent, carriers) faces a dilemma, they make better profit by selling to you a new device instead of writing upgrades for free, but poor upgrade history will put off customers as well; so they will often drop support for older phones and only write one or two version upgrades at most.

Hardware limitation has never been a problem for upgrades. While it's certainly true that certain new features might have a much higher hardware demand than older phones can conveniently handle (e.g. Live Wallpapers), these features are usually either disabled or left to give sub-optimal experience.

Other limitation is space limitation. Some phones have very small internal memory, and Android tends to get larger for every upgrade. To port newer versions for these phones, some sacrifices has to be made; whole libraries may be left out (e.g. who needs the NFC on a G1?). These modifications needs to be written and tested.

share|improve this answer
add comment

Your device will run any version of Android, even if your carrier or manufacturer won't have a official update available you can check out XDA-Developers and get an unofficial ROM, that are a lot better in my opinion.

For an example, the HTC G1 that everyone knows that is a bit slow and out-dated, but was the first device to get an unofficial port of Android Honeycomb for it, even if it was made only for tablets the developers manage to get the screen resolution working and the other stuff that wasn't compatible.

Another example I that I have: I had a HTC Touch Pro2 that by stock runs Windows Mobile 6.1, I've installed a unofficial ROM first(called Simplicity ROM), so I was running the latest build of Windows Mobile 6.5 and within Sense 2.5, so I bought my first Android phone. And some time after the XDAndroid developer team released a Android port for my device, and now I use it too, but on Android.

My first Motorola Milestone is running a custom Android 2.3 Gingerbread ROM, even that my carrier haven't released any official ROM for it. It runs very stable and it's a lot better than the 2.1(stock default) and the 2.2(custom too). So there are no problems if you can flash custom ROMs.

share|improve this answer
    
"If your phone is a bit old so it will be slow running a newer version of Android" - not exactly true. I have an HTC Hero which originally came with 1.5 (and now comes with 2.1) but since I put CM6 (which is Android 2.2) my Hero is much faster and has better battery-life. –  Daniel Apr 15 '11 at 23:44
    
That's because Android made some system performance improvements :) –  Nathan Campos Apr 16 '11 at 2:28
    
Exactly - which is why what you said is not exactly true. –  Daniel Apr 16 '11 at 5:38
    
Ok, corrected :) –  Nathan Campos Apr 16 '11 at 14:02
add comment

Right now Gingerbread and Honeycomb use hardware acceleration for graphics. While it could be done without, phones that lack GPUs that can do this will not see these version.

To be Google Certified devices must be able to launch core apps within a certain amount of mili-seconds.

share|improve this answer
    
@liori: your phone can't display time in "miniseconds"? you should ask for a refund. –  Lie Ryan Apr 16 '11 at 16:18
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.