По моему мнению, лучшая практика - это компилировать с Android 1.6 SDK и установить minSdkVersion на 3 в манифесте.
Я говорю это, основываясь на рекомендации Дайан Хакборн (пользователя по имени hackbod, который прокомментировал принятый ответ) в этой теме , она является сотрудником Google, работающим на самом источнике Android.
По сути, существует довольно много устройств Android 1.5 SDK, поэтому компиляция с Android 1.5 SDK обеспечит поддержку большего количества устройств с 1.5 SDK, 1.6 SDK, 2.0 SDK или 2.1 SDK, но есть устройства, которые требуют 1.6 SDK, например, HTC Tattoo, поэтому компилирование вашего приложения с использованием 1.6 SDK, но установка minSdkVersion на 3, позволяет большинству устройств использовать ваше приложение.
Если вы делаете, как говорится в принятом ответе, и компилируете последний SDK 2.1, то вы пропускаете большое количество пользователей. Приложения, скомпилированные с помощью 2.1 SDK, могут использоваться только на устройствах с 2.1 SDK или более поздней версией, поэтому в основном вы ограничиваете пользователей теми, которые в настоящий момент владеют Google Nexus One.