I just uploaded my first app to the Android marketplace and one comments says, "It force closes on G1". What version of the Android OS does the G1 use?
Originally the G1 shipped with 1.0, then upgrades were released to update the phone to 1.1, 1.5 (Cupcake) and 1.6 (Donut).
So you would expect most users to be on 1.6. However, there are a couple of extra things you may want to consider.
Firstly, some users will be running custom firmware. A quite a few G1 users - me included - run community firmware on their devices, such as CyanogenMod. Often these releases are 1.6 releases with 2.x functionality ported from the Android Open Source Project (AOSP) tree, so you could consider them as a hybrid release, putting the phone somewhere between 1.6 and 2.x. I wouldn't worry about the people running custom firmware since they are so many different firmwares and builds of each firmware, and people who put custom firmware on their phone usually expect to fend for themselves. I only mention it in case you get some weird bugs you really can't replicate which might be caused by this.
Secondly, I'd recommend looking at the Android Device Dashboard as this shows what fraction of users of all phones are running each release:
At the time of writing 31% of users are still on Android 1.5 and I would guess quite a few of these are running G1s.
So my advice would be to test your application on 1.5 and 1.6 if you want to support G1 users.
The latest should have been Android 1.6, but originally it was shipped with Android 1.0 (Source).
The latest update they've pushed out to the G1 is Android 1.6. They're supposed to be working on trimming down 2.0 to make it fit on the G1 but so far it hasn't been available without hacking your phone.
Currently 1.6 (Donut), this is most likely the last OS version that will be on the G1.
Originally it was shipped with Android 1.0. Now it uses Android 1.6
Related
So, I'm current trying to learn and become a programmer. I've recently worked with C# but I really want to get into mobile apps, since most small projects really tend to fit better as mobile apps, rather than desktop apps.
The easiest, for me, seems to be the Android platform, but I'm having a problem... I don't own an android phone, but I could possibly purchase an old model. Naturally these will have an older version of Android, so here is my question...
How compatible are these different versions? Like, are there major differences when moving from Icecream Sandwich to Jelly Bean, or from KitKat to Lollipop?
How do app developers deal with this array of Android versions?
When you develop an app for an old version of Android, it will run without errors on all newer version of Android, unless you do something involving low-level stuff like direct kernel calls, but you will never encounter such issues if you only use Java.
Worst issue you'll see is your app visual style looking outdated on newer devices.
If you target API level 23 / Android 6.0 Marshmallow, you will still need to run your app on Android 6.0 emulator, to be sure that it won't crash when using new Android permission dialogs to ask for SD card access etc.
I've developed my first app and it worked fine on my phone (Android 2.2). When I tested in a Xoom (Android 3.2), it had lots of bugs, though. I need this app to run in many different versions of Android. How can I develop it and make sure it will, having only an Android 2.2 in hands for tests?
Developing with the last version targeted in the manifest while keeping a close eye to back compatibility is how you achieve this with the best efficiency.
Many libraries (ActionBar Sherlock, NotificationCompat2, ....) will help you in making your app back compatible without issues.
I strongly recommend making the app for the last version of Android so it is ready when this version gets some steam instead of targeting whatever version is the most popular right now. It is a bit more work at the beginning, but it will save you many headaches later on.
The emulator will help you test this, the best configuration is to have a terminal with the last version of android at your disposal (this is why the nexus are a very good choice for a dev) and different configurations on the emulator to test back compatibility or other form factors.
I'm a CS student and with my team we're going to realize an android application for our Software Engineering course. We're not Android developers and we using this opportunity to learn how to do it.
We know it's available the 3.0 version but that basically has tablets as target. Our target is smartphones, so the question is: should we stick with 2.3 or should we use 3.0 API.
I know the natural answer would be "2.3" but it's not really clear to us where "3.0" is going.
I would even go for 2.1 or 2.2 - 60% of the market uses 2.2, 20% 2.1 and 6% 2.3.
3.0 is atm only available for tablets - targeting this will limit your target market a lot, as no mobile handsets will have 3.0 any time soon.
See also this q&a: What version of Android should I develop for?
3.0 is the future, no doubt. But 3.0 is currently just available for some tablets. Almost all smartphones are currently using some 2.x version.
As you can see here, the version 2.1 and above are widely used. So I personally would target 2.1 and above.
Depends on your application's scope.
If you want to aim at as many people as possible, you should go for 2.1, or 2.2, if you don't use any specificity from the 2.3 SDK (NFC for example).
It is important to know that, because only about 10% of Android phones are running 2.3 (and even less I think). More than 70% have 2.1 or superior, so if your target is mass distribution, 2.1 would be nice. (You can develop an app under 2.3 SDK aiming at lower version as well, just add it in the manifest)
Otherwise, if your application is tablet-aimed, use 3.0. Otherwise go for 2.3.
I'm looking at market stats here for sdk distribution:
http://developer.android.com/resources/dashboard/platform-versions.html
saying that 31% of marketplace users are still running 1.5. Is it true that an OS update went out for G1 and myTouch users? I'm wondering why so many people are still running 1.5 if so? Just curious because I'd like to use th setView() method introduced in 1.6 for TabSpec, but not if so many people are still using 1.5, I might have to roll my own control,
Thanks
Many devices are being announced with 1.5 but will be upgraded before or soon after launch, as I see it many rooted phones that came with 1.5 or lower are almost all at 1.6. Some $100 devices announced will never go higher than 1.6 because of performance issues unless Google actually optimizes newer versions of Android.
The htc Magic(Mytouch) and htc Dream(G1) here in canada only officially have a 1.5 update and no 1.6. But in the USA they now have 1.6. I have a Dream and I rooted it and have firmware 1.6 but I have run 2.0, 2.01, 2.1 on it but performance is not too great on it. With 1.6 I can play apparently slow games on it at a decent speed.
Google also stated that they will update most android devices to have 2.1. So I would think that All Htc and Motorola phones will end up with 2.1. Just give me a moment to find the source of this.
All US Android phones to have 2.1
Devices that have a custom ui are: (These are the devices that I know of but there are more)
Sence UI
HTC Magic in canada
HTC Hero
MotoBlur
Backflip
Click
Click xt
There are custom roms that enable sence ui and motoblur for motorola phones and htc phones. For example I have run sense ui and motoblur on my Dream.
Reports suggest that most devices will be upgraded to 2.0 in the coming months and those that aren't will be running 1.6.
So you have to weigh up the advantage of using the setView() method over the potential loss in device compatibility.
strangly enough LG is just releasing a new phone based on 1.5
http://www.reghardware.co.uk/2010/03/17/review_phone_lg_gw620/
I'm one of the users running 1.5 on my HTC Hero, this is not because I don't want to update but because they haven't released it yet, fortunately 2.1 is being released in April for Orange customers in the UK.
Furthermore the reason some devices take some time to upgrade are mostly due to HTC improving and upgrading the SenseUI, it's what I was told when I asked them anyway.
HTC Hero being upgraded to 2.1 on 26th April in Taiwan, a day or two after rest of the world
Source: http://www.androidcentral.com/htc-hero-gets-21-upgrade-april-26th-%E2%80%93-taiwan
Recently android have launch 2.1 version, so i just want to ask, can phone running on 1.6 version are upgradable to 2.1 version.
There is no technical reason why not. It just depends if the ROM is made available for the phone.
If you are preparing an app for normal users, they depend on the phone producer - if he will give out new version they might install it, if not, they will stuck with the old version...
Here: http://developer.android.com/resources/dashboard/platform-versions.html you can check, which version is most popular. If you want to reach many users, 1.6 should be your choice probably.
Depends on the phone manufacturer on how they want to push the updates to a particular device. for example HTC G1 device has not been updated to ver2.1 due to old hardware while HTC Hero was not updated above ver1.5 due to the incompatibilities of their Sense UI.