Версия приложения Android — минимальная версия SDK

Я просмотрел http://developer.android.com/resources/dashboard/platform-versions.html

введите здесь описание изображения

2.1 : 27.2%
2.2 : 63.9%
2.3 : 0.8%
2.3.3 : 1.7%
3.0 : 0.2%

Я почти уверен, что буду использовать Android 2.1 в качестве своей версии, охватывающей почти 94% текущих пользователей. Когда я иду, чтобы настроить приложение для Android в eclipse, я вижу этот экран

новый проект Android

В документации говорится

Минимальная версия SDK

Это значение указывает минимальный уровень API, требуемый вашим приложением.

Что это обозначает? Означает ли это, что я могу выбрать 2.3 для своей цели сборки, но выбрать 7 в качестве минимальной версии SDK и поддерживать все устройства с 2.1?


person Josh    schedule 14.04.2011    source источник


Ответы (4)



Вы правы. Приложение просто не установится на устройства с более низким уровнем API. И не будет отображаться в Android Market для таких устройств.

Здесь перечислены все уровни API: http://developer.android.com/guide/appendix/api-levels.html

person pawelzieba    schedule 14.04.2011
comment
Правильно - я забыл про автоматическую фильтрацию Маркета по версии API. Хорошая точка зрения. - person tamarintech; 14.04.2011

Насколько я понимаю, «Минимальная версия SDK» определяет, будут ли ваши пользователи получать окно сообщения «Это приложение не поддерживается». Например, если они использовали версию 1.6 (API 4), а вы вставили в это поле цифру 7.... они получат сообщение независимо от того, установили ли вы флажок 1.6 или нет.

Я никогда не понимал, почему кажется, что это может быть установлено произвольно. Я думаю, что это настроено таким образом, чтобы позволить разработчику создавать для нескольких целей и функций, не будучи вынужденным иметь совместимость только с одной версией SDK.

person tamarintech    schedule 14.04.2011
comment
Я могу создать свое приложение для более чем одной версии Android? Означает ли это, что я могу использовать 2.1 в качестве цели сборки, и если я не буду использовать какие-либо функции, не предлагаемые в более ранней версии (например, мультитач), приложение будет работать в более ранней версии, если минимальный SDK был установлен правильно? - person Josh; 14.04.2011
comment
Я не пробовал, но у меня сложилось впечатление, что вы можете, по крайней мере, создавать части приложения с разными версиями SDK. Я думаю, например, что если вы хотите использовать как устаревший GL-hack-on-a-surface-thing (1.6), так и новый GLSurface (я думаю, что это 2.0), вы могли бы фактически построить против обоих. Вам нужно будет включить проверку версии и доступности функций в свой код и вызвать соответствующий метод. - person tamarintech; 14.04.2011
comment
Вау, ресурс, предоставленный принятым ответом, идеален! Спасибо за это! - person tamarintech; 14.04.2011

min-sdk=7 (Android 2.1) означает, что ваше приложение нельзя установить на устройстве с уровнем API 6 (android 2.0.1) или ниже (1.5 или 1.6). Конечно, вы можете установить свое приложение на устройство с уровнем API 7 или выше ( > 2.1).

person anticafe    schedule 14.04.2011