tags:

views:

329

answers:

6

What are some things you wish you had known about Android when you first started out or before you published your first app on the market? I am nearing completion on my first and am starting to make sure I have crossed my proverbial Ts and dotted the Is

+5  A: 
  • Save you keystore file. If you lose it, you will not be able to update your app.

  • Use <uses-sdk android:minSdkVersion="3" android:targetSdkVersion="4"/> to be compatible with 1.5 and newer devices.

  • Make your icons based on the Icon Design Guidelines.

Macarse
targetSdkVersion needs to be greater than 4 if you want 2.x style on your app. Setting targetSdkVersion to 4 or less will display tabs with the 1.x color scheme (as an example). I recommend using targetSdkVersion=5 and minSdkVersion=3.
licorna
Check http://developer.android.com/resources/dashboard/platform-versions.html (2.1: 50%; 1.x: 50%) and know that 100k android devices are activated every day, and most of them run 2.1 and the rest of them, based on old 1.6, are going to be updated (like the Sony Ericsson X10) in Q3 2010. So don't be too kind to 1.x compatibility, in a couple of months you won't see too many old 1.x devices out there.
licorna
@licorna: cool. Thanks. +1.
Macarse
+1 for me too. It's a shame so many people develop for dying OS versions.
Bob Denny
+4  A: 

Test your app on all Android versions before release to Market, or, if you're too lazy, just on:

  1. 1.5 (older one, lacks support of some classes that 2.x does)
  2. 2.1 (most modern devices)
  3. 2.2 (most current, not much devices for now, has some internal rendering changes)

Earlier than 1.5 are hard to find, so can be safely ignored.


android-remote-stacktrace is also very useful thing

zed_0xff
Definitly try all RelativeLayouts that you are using at least on a 1.5 emulator and test activities with many nested views (listview with custom rows inside a tabhost view etc.) on 1.5 emulator also. Cupcake behaves really different then all later releases regarding this.
Janusz
+2  A: 

Test your app for memory leaks. It's very easy to leak context. This post will help http://android-developers.blogspot.com/2009/01/avoiding-memory-leaks.html.

Fedor
+1  A: 

You should test your app on some device with Sense UI like EVO4G. Many things are different there.

Fedor
+3  A: 
adb shell monkey -v -p your.package.name 500

It will help you to do some stress testing before publishing to Market.

Fedor