0.9 SDK Tips #1: The Hidden Changes
This is the first in a series of blog posts to help those of you with M5 applications make the jump to the 0.9 SDK. Also, if you see a tutorial dated before mid-August, that tutorial is from M5, and so these blog posts may be useful to help you translate the tutorials to the new SDK.
The first question most people probably asked when 0.9 shipped was “So, what changed?”. Unfortunately, that’s not an easy question to answer, despite the Android team’s yeoman’s job of documenting the changes.
The first place you should look for changes is the Overview of Changes. This provides dozens of sections of bullet points for changes, and covers a wide range of differences between the releases.
However, that doesn’t cover everything.
You might consider making your next stop be the API Differences Report, which is a (presumably) automatically generated JavaDoc-esque depiction of what has been added, removed, or changed in the API. The catch is that it is limited to the API, and so while (presumably) thorough in that area, it does not cover changes made outside the API: manifest files, layout XML attribute changes, build script changes, and the like.
So, that too doesn’t cover everything.
Your third stop probably should be the M5 to 0.9 Porting Tips page, maintained as an adjunct to the [android-developers] Google Group. This contains more of a cookbook-style roster of porting issues and their solutions. This page is collaboratively maintained and so may be updated over time.
But, of course, that doesn’t cover everything, either.
After that, search through the [android-developers] and [android-beginners] Google Groups. Activity in those groups has skyrocketed since the 0.9 SDK release, with questions and answers flying about at a dizzying pace. If you can’t find what you need by searching the group or looking at the documents listed above, you could do worse than asking your question on one of these lists.
Alas, at the time of this posting, all those don’t really cover everything either, such as:
- If you try running
ant install, and you get a “failure: package already exists” error, you need to run
ant installappears to work only when there is no existing edition of the application in the emulator
RelativeLayoutchanged some of the layout XML attributes, such as
toRightOf(violating the age-old aphorism, “never use a preposition to end an Android XML attribute name with”)
(note that I’ll try popping these particular points into the Porting document after submitting this blog post, so they may appear there by the time you read this)
I and others will be blogging about these changes, and in many cases will be updating the M5 to 0.9 SDK Porting document mentioned above. Again, if you have questions, please join the appropriate Google Group and ask; while I cannot guarantee you’ll get an answer, better to have asked and lost than never to have asked at all.