Is Android backwards compatible, in other words can an application developed in Android 1.6 run in Android 2.0?
I just published a 2.0 application and discovered that I can't find it in the market using my G1 (Android 1.6) phone. But apparently others are downloading it.
Should I downgrade the application to 1.6 or do I need to create separate applications for each Android version?
You can build against any version you want, and release it to every Android phone out there and have it show up to them in the Market, if you're sure it's stable.
I have an Android app that I build against the 1.6 SDK. I make sure not to use any 1.6-specific APIs, but I do want the build environment to let me use resolution-specific icons and assets, which the 1.5 SDK doesn't know how to do. Phones running 1.5, however, won't choke on the resolution-specific layout structure when it actually runs.
I mark the minSdkVersion as 3 (Android 1.5) and set the targetSdkVersion as 4 (Android 1.6). This tells Android phones, and the Market, that I've determined the app runs fine on phones as low as Android 1.5, but was built against 1.6 (and can be assumed to work on higher versions like 2.0).
Since the app is open-source, here's a link to my AndroidManifest.xml
This page in the Android Developer docs describes the uses-sdk attributes in more detail
Since you have developed your app with the 1.6 SDK you should(must?) flag it with 1.6. This will increase the number of person who will be able to see and download your app.
Don't need to have 2 apps (1.6 and 2.0) if they are the same. If you want you can try to evolve your app by using new features of the Android SDK 2.0 and then:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With