<uses-sdk>

СИНТАКСИС:
СОДЕРЖИТСЯ В:
<manifest>
ОПИСАНИЕ:

Позволяет указать совместимость приложения с одной или несколькими версиями платформы, с помощью уровней API. Несмотря на свое название, этот элемент используется для указания номера уровня API, а не номера версии SDK или версии платформы Android. Уровень API это одно целое число, он всегда связан с соответствующим номером платформы Android.

Подробности смотрите в документе Управление версиями приложения.

АТРИБУТЫ:
android:minSdkVersion

Целое число, указывающее на минимальный уровень API, который требуется приложению для работы. Система предотвращает установку приложения, если уровень API на устройстве ниже, чем указанный в данном атрибуте. Необходимо всегда использовать данный атрибут.

Внимание: если вы не укажете данный атрибут, система будет использовать значение по умолчанию равное 1, которое означает, что приложение совместимо со всеми версиями Android. Если приложение не поддерживает все версии (например использует API 3) и вы не указали значение minSdkVersion, при установке приложения на систему с API ниже 3, оно будет аварийно завершаться при попытке использовать недоступные функции вышестоящего API. Поэтому всегда указывайте соответствующее значение уровня API для данного атрибута.

android:targetSdkVersion

Целое число, указывающее версию API, на которую нацелено приложение. Если атрибут не указан, используется значение, эквивалентное minSdkVersion.

Атрибуте сообщает системе, что вы протестировали приложение в указанной версии и система не должна разрешать работать приложению в режиме совместимости. С выходом новых версий, меняется поведение и внешний вид системы. Однако, если уровень API платформы выше версии, указанной в данном атрибуте, система разрешает использовать режим совместимости, чтобы приложение работало так, как вы ожидаете. Вы можете отключить такое поведение, указав в качестве targetSdkVersion версию платформы, на которой работает приложение. Например, установка значения 11 и больше позволит системе применить тему Xono, при запуске на Android 3.0 и выше, а также отключает режим совместимости экрана при запуске на больших экранах (потому что API 11 неявно поддерживает большие экраны).

Есть много режимов совместимости, который система включает, основываясь на значении атрибута. Некоторые из них вы можете посмотреть в руководстве Build.VERSION_CODES.

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

Добавлено в API 4.

android:maxSdkVersion

Целое число, указывающее максимальный уровень API, в котором приложение может работать.

В Android 1.5, 1.6 и 2.0.1 система проверяла значение атрибута при установке и проверке приложения после обновления системы. В любом случае, если значение атрибута ниже, чем уровень API системы, система не позволит установить приложение. В случае проверки приложения после обновления системы и несоответствии версий, приложение удаляется с устройства.

Чтобы показать как атрибут влияет на приложение после обновления системы, рассмотрим следующий пример:

Для приложения значение атрибута maxSdkVersion=5. Пользователь устройства с Android 1.6 (API 4) скачал и установил приложение. Через несколько недель пользователь обновил версию Android до 2.0 (API 5). После обновления система вновь проверяет атрибут и оставляет приложение на устройстве. Приложение нормально работает. Однако, спустя некоторое время, устройство обновляется до версии Android 2.0.1 (API 6). После обновления, система не может подтвердить работу приложения, поскольку уровень API системы (6) выше, чем установленный в качестве максимального для приложения (5). Система удаляет приложение.

Предупреждение: указание данного атрибута не рекомендуется! Во-первых, нет необходимости устанавливать атрибута как средство защиты от установки на новые версии Android по мере их выхода, поскольку новые версии имеют полную обратную совместимость. Приложение должно правильно работать с новыми версиями, при условии, что используется стандартное API. Во-вторых, обратите внимание, что в некоторых случаях указание атрибута может привести к удалению приложения после очередного обновления системы до более высокого уровня API. Большинство устройств периодически обновляют версию платформы по воздуху, поэтому вы должны учитывать этот факт, прежде чем указать данный атрибут.

Добавлено в API 4.

Android после версии 2.0.1 больше не проверяет атрибут maxSdkVersion во время установки приложения или после обновления системы. Google Play будет использовать атрибут для фильтрации приложений, чтобы предотвратить установку на несоответствующие устройства.

ДОБАВЛЕНО:
уровень API 1

Что такое уровень API?

Уровень API это целое число, которое идентифицирует уникальную ревизию API платформы Android.

Платформа Android предоставляет API, которое приложения могут использовать для взаимодействия с основной системой и включает в себя:

  • набор пакетов и классов ядра.
  • набор XML элементов и атрибутов для файла манифеста.
  • набор XML элементов и атрибутов для объявления ресурсов.
  • набор намерений.
  • набор разрешений, которые требуют приложения, а также включены в системы.

Каждая последующая версия Android может включать обновление системных приложений.

Обновления фреймворка разрабатываются так, чтобы оставаться совместимыми с более ранними версиями. То есть большинство изменений в API добавляют новые возможности. При обновлении части API, старая часть помечается как устаревшая, но не удаляется, поэтому существующие приложения могут ее использовать. Функции очень редко удаляются из API, и это связанно в основном с обеспечением безопасности. Все остальные части более ранних версий переносятся без изменений.

Фреймворк, который использует платформа Android задается с помощью целого числа, который называется уровень API. Каждая версия Android поддерживает ровно один уровень API, хотя он включает также все более ранние версии (вплоть до API 1). Первый выпуск Android соответствует API 1.

В таблице ниже указаны уровни API, которые поддерживаются каждой из версий платформы Android. Подробную информацию смотрите в разделе Версии платформ.

Platform VersionAPI LevelVERSION_CODENotes
Android 5.0 21 LOLLIPOP Platform Highlights
Android 4.4W 20 KITKAT_WATCH KitKat for Wearables Only
Android 4.4 19 KITKAT Platform Highlights
Android 4.3 18 JELLY_BEAN_MR2 Platform Highlights
Android 4.2, 4.2.2 17 JELLY_BEAN_MR1 Platform Highlights
Android 4.1, 4.1.1 16 JELLY_BEAN Platform Highlights
Android 4.0.3, 4.0.4 15 ICE_CREAM_SANDWICH_MR1 Platform Highlights
Android 4.0, 4.0.1, 4.0.2 14 ICE_CREAM_SANDWICH
Android 3.2 13 HONEYCOMB_MR2
Android 3.1.x 12 HONEYCOMB_MR1 Platform Highlights
Android 3.0.x 11 HONEYCOMB Platform Highlights
Android 2.3.4
Android 2.3.3
10 GINGERBREAD_MR1 Platform Highlights
Android 2.3.2
Android 2.3.1
Android 2.3
9 GINGERBREAD
Android 2.2.x 8 FROYO Platform Highlights
Android 2.1.x 7 ECLAIR_MR1 Platform Highlights
Android 2.0.1 6 ECLAIR_0_1
Android 2.0 5 ECLAIR
Android 1.6 4 DONUT Platform Highlights
Android 1.5 3 CUPCAKE Platform Highlights
Android 1.1 2 BASE_1_1
Android 1.0 1 BASE

Добавить комментарий