Похоже, что лучший способ разработки приложения для Android на сегодняшний день — указать android-17 в project.properties вместе с minSdkVersion «что вам подходит» и targetSdkVersion 17 в манифесте.
В этой конфигурации стандартные проверки lint будут уведомлять о любых вызовах API, которые доступны только в версиях API выше «что угодно», и можно использовать отражение и т. д. для динамической поддержки новых функций, если таковые имеются.
Однако в этой настройке, по крайней мере, без дополнительной настройки, атрибуты стиля и темы в XML могут быть не помещены в соответствующую папку, например ссылка на элементы «Holo» в папке ресурсов по умолчанию, когда «что угодно» меньше 11. он же Соты.
Кажется, приложения не будут падать, если они столкнутся с неизвестными атрибутами стиля XML. LogCat покажет ошибку, например «Стиль содержит ключ с неверной записью».
Не уверен, проверяется ли весь стиль при запуске приложения; если это так, то, безусловно, можно запустить приложение один раз для каждой версии API, чтобы проверить наличие проблем. Однако это не совсем желательно. Кроме того, стили и темы — не единственные ресурсы, зависящие от версии.
Есть ли способ заставить lint проверять ресурсы в целом на соответствие minSdkVersion и API версии XY для папки *-vXY? Может ли кто-нибудь пролить свет на это?