In an April 28 blog post, Google raises the issue of backward compatibility for Android applications, which causes some observers to ask: why? The Android developer site provides some answers.
In an April 28 blog post, Google addresses the issue of backward
compatibility for Android applications, which causes some observers to
ask: why?
Google rolled out version 1.5 of its Android software development
kit (SDK) on April 28, which has given rise to whether developers need
to be concerned with backward compatibility involving newer APIs and
older devices.
A blog post from
Andy McFadden on the Android Developers blog, said:
"Android 1.5 introduced a number of new features that application
developers can take advantage of, like virtual input devices and speech
recognition. As a developer, you need to be aware of backward
compatibility issues on older devices-do you want to allow your
application to run on all devices, or just those running newer
software? In some cases it will be useful to employ the newer APIs on
devices that support them, while continuing to support older devices."
McFadden also said, "If the use of a new API is integral to the
program-perhaps you need to record video-you should add a manifest
entry to ensure your app won't be installed on older devices."
Yet, industry observers over at
TechCrunch question the whole thing. Said an article on TechCrunch:
"Love the iPhone or hate the iPhone, at least you know what you're
getting out of the box is a device that will work with all the apps in
the App Store. That's been the case so far with Google's Android
platform as well - but only because there has been only one device, the
G1. With more devices starting to roll out, and a new firmware (1.5,
'cupcake') to support them, things are continuing to get a bit murky.
"Last week, we wrote about how the 1.5 Android software update would
break some apps that previously worked with Android. Google gave some
tips as to how to fix them, but it's still a bit troubling. Today,
comes another post on the Android Developer blog with two dreaded
words: Backward compatibility."
Meanwhile, to avoid any backward compatibility issues, McFadden insists that testing is the key.
"You must test your application on every version of the Android
framework that is expected to support it," he said. "By definition, the
behavior of your application will be different on each. Remember the
mantra: if you haven't tried it, it doesn't work."
McFadden also noted:
"You can test for backward compatibility by running your application
in an emulator from an older SDK, but as of the 1.5 release there's a
better way. The SDK allows you to specify 'Android Virtual Devices'
with different API levels. Once you create the AVDs, you can test your
application with old and new versions of the system, perhaps running
them side-by-side to see the differences."