Api sdk android таблица

Android API Levels

This is an overview of all Android versions and their corresponding identifiers for Android developers. Anyone is welcome to open an issue or pull request. Happy developing!

Version SDK / API level Version code Codename Cumulative
usage 1
Year
Android 12 Level 31 S Snow Cone 2 No data 2021
Android 11 Level 30 R Red Velvet Cake 2 33.3% 2020
  • targetSdk must be 30+ for new apps by August 2021 and app updates by November 2021.
Android 10 Level 29 Q Quince Tart 2 61.9% 2019
  • targetSdk must now be 29+ for all app updates.
Android 9 Level 28 P Pie 76.2% 2018
Android 8 Level 27 Android 8.1 O_MR1 Oreo 83.9% 2017
Level 26 Android 8.0 O 87.2%
Android 7 Level 25 Android 7.1 N_MR1 Nougat 89.3% 2016
Level 24 Android 7.0 N 92.4%
Android 6 Level 23 M Marshmallow 96.0% 2015
Android 5 Level 22 Android 5.1 LOLLIPOP_MR1 Lollipop 98.2% 2015
Level 21 Android 5.0 LOLLIPOP , L 98.6% 2014
  • Jetpack Compose requires a minSdk of 21 or higher.
Android 4 Level 19 3 Android 4.4 KITKAT KitKat 99.6% 2013
  • Google Play services do not support Android versions below API level 19.
Level 18 Android 4.3 JELLYBEAN_MR2 Jelly Bean No data
Level 17 Android 4.2 JELLYBEAN_MR1 2012
Level 16 Android 4.1 JELLYBEAN
Level 15 Android 4.0.3 – 4.0.4 ICE_CREAM_SANDWICH_MR1 Ice Cream Sandwich 2011
Level 14 Android 4.0.1 – 4.0.2 ICE_CREAM_SANDWICH
Android 3 Level 13 Android 3.2 HONEYCOMB_MR2 Honeycomb
Level 12 Android 3.1 HONEYCOMB_MR1
Level 11 Android 3.0 HONEYCOMB
Android 2 Level 10 Android 2.3.3 – 2.3.7 GINGERBREAD_MR1 Gingerbread
Level 9 Android 2.3.0 – 2.3.2 GINGERBREAD 2010
Level 8 Android 2.2 FROYO Froyo
Level 7 Android 2.1 ECLAIR_MR1 Eclair
Level 6 Android 2.0.1 ECLAIR_0_1 2009
Level 5 Android 2.0 ECLAIR
Android 1 Level 4 Android 1.6 DONUT Donut
Level 3 Android 1.5 CUPCAKE Cupcake
Level 2 Android 1.1 BASE_1_1 None
Level 1 Android 1.0 BASE 2008

Definitions

  • minSdk (Kotlin) / minSdkVersion (Groovy): The minimum SDK version your app will support, defined in build.gradle . For example, if your minSdk is 26, this SDK version corresponse to API Level 26 and Android 8, so your app will only run on devices with Android 8 or higher.
  • targetSdk (Kotlin) / targetSdkVersion (Groovy): The SDK version that your app targets, defined in build.gradle . This should always be the same as compileSdk .
  • compileSdk (Kotlin) / compileSdkVersion (Groovy): The SDK version that your app compiles against, defined in build.gradle . Android Studio uses this SDK version to build your AABs and APKs. This should always be the same as targetSdk .

Notes

Cumulative usage distribution figures were last updated on November 3, 2021 using data from Statcounter GlobalStats. These figures may have changed significantly since the last update. You may update the figures yourself with a pull request. ↩

The codenames for Android 10 and above in the table are the internal codenames. Beginning with Android 10, Google dropped the usage of codenames publicly.

API Level 20 is missing from the table because it matches Android 4.4W, the version that makes Android available for Android Wear. ↩

Источник

Русские Блоги

Таблица сравнения номера версии Android SDK и уровня API

Таблица сравнения номера версии Android SDK и уровня API

Соответствующие отношения можно найти на официальном сайте:https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels
Уровень API — это целочисленное значение, однозначно определяющее версию API платформы, предоставленную версией платформы Android.

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

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

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

  • android: minSdkVersion — укажите минимальный уровень API, на котором может запускаться приложение. Значение по умолчанию — «1».
  • android: targetSdkVersion — укажите целевой уровень API для запущенного приложения. В некоторых случаях это позволяет приложению использовать элементы файла манифеста или поведения, определенные на целевом уровне API, а не ограничиваться теми, которые определены для самого низкого уровня API.

android: maxSdkVersion — укажите наивысший уровень API, на котором может запускаться приложение.
Важное примечание. Перед использованием этого атрибута прочтите документацию.
Например, чтобы указать минимальный уровень системного API, необходимый для запуска приложения, приложению необходимо добавить элемент с атрибутом android: minSdkVersion в свой манифест. android: minSdkVersion — это целое число, которое соответствует уровню API минимальной версии платформы Android, на которой может запускаться приложение.

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

Если атрибут android: minSdkVersion объявлен, его значение должно быть меньше или равно целому числу системного уровня API. Если не объявлено, система предполагает, что приложению требуется уровень API 1.

  • Если атрибут android: maxSdkVersion объявлен, его значение должно быть больше или равно целому числу системного уровня API. Если не объявлено, система предполагает, что приложение не имеет наивысшего уровня API. Подробнее о том, как система обрабатывает этот атрибут, читайте в документации.
  • Читайте также:  Куда сохраняет bluetooth android

    Источник

    Api sdk android таблица

    API Level это просто целое число, которое однозначно идентифицирует ревизию рабочего окружения программных библиотек (framework API revision), которая предоставляется версией платформы (операционной системой) Android.

    Платформа Android предоставляет framework API, которое могут использовать приложения для взаимодействия с нижележащей системой Android. Framework API состоит из:

    • Базового набора пакетов и классов.
    • Набора элементов XML и атрибутов для декларирования в файле манифеста (manifest file).
    • Набора элементов XML и атрибутов для декларирования и доступа к ресурсам.
    • Набора намерений (Intents).
    • Набора разрешений доступа к ресурсам устройства и системы, которые приложение может запросить, а также защита ограничения доступа, встроенная в систему.

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

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

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

    В таблице ниже указаны поддерживаемые API Level для каждой платформы Android. Для информации по относительным количествам устройств, которые работают на каждой версии, см. страничку [2].

    Версия платформы API Level VERSION_CODE
    Android 4.4 19 KITKAT
    Android 4.3 18 JELLY_BEAN_MR2
    Android 4.2, 4.2.2 17 JELLY_BEAN_MR1
    Android 4.1, 4.1.1 16 JELLY_BEAN
    Android 4.0.3, 4.0.4 15 ICE_CREAM_SANDWICH_MR1
    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
    Android 3.0.x 11 HONEYCOMB
    Android 2.3.3, 2.3.4 10 GINGERBREAD_MR1
    Android 2.3, 2.3.1, 2.3.2 9 GINGERBREAD
    Android 2.2.x 8 FROYO
    Android 2.1.x 7 ECLAIR_MR1
    Android 2.0.1 6 ECLAIR_0_1
    Android 2.0 5 ECLAIR
    Android 1.6 4 DONUT
    Android 1.5 3 CUPCAKE
    Android 1.1 2 BASE_1_1
    Android 1.0 1 BASE

    [Как используется API Level в Android]

    Идентификатор API Level играет ключевую роль в предоставлении информации пользователям и разработчикам.

    • API Level позволяет платформе (операционной системе) Android описать максимальную ревизию framework API, которую платформа поддерживает.
    • API Level позволяет приложениям описать требуемую для них ревизию framework API.
    • API Level позволяет системе обрабатывать инсталляции приложений на устройстве пользователя и определять, какие их них являются несовместимыми с текущей версией системы.

    Читайте также:  Расширения для android studio

    Подробнее про использовании API Level в приложении и системе Android см. [3].

    [Совместимость приложений с новыми версиями операционной системы Android]

    Application forward compatibility — под этим имеют в виду, что приложения Android обычно имеют «совместимость вперед». Т. е. старые приложения, которые скомпилированы в расчете на старую версию операционной системы, будут продолжать нормально работать на всех более новых операционных системах Android.

    Поскольку большинство изменений framework API в операционной системе являются добавочными, то приложения Android, разработанные с указанной версией API (как указано по API Level) будут совместимы в будущем (forward-compatible) с последующими версиями платформ Android и более высокими уровнями API level. Приложения должны иметь возможность работать на всех последующих версиях платформы Android, за исключением изолированных случаев, когда приложение использует часть API, которая по некоторым причинам было удалена в поздней ревизии API.

    Forward-совместимость важна, потому что множество устройств, работающих на Android, получают обновления системы на лету, по каналу Wi-Fi (over-the-air, OTA). Пользователь может установить Ваше приложение и успешно его использовать, и позднее получить OTA-обновление на новую версию платформы Android. Как только обновление установлено, Ваше приложение будет работать уже в новой версии рабочего окружения, на новом API (run-time version environment), и от этого нового API и возможностей системы будет зависеть работа Вашего приложения.

    В некоторых случаях изменения в API могут влиять на Ваше приложение, когда оно работает в новом окружении. По этой причине Вам как разработчику важно понимать, как будет выглядеть приложение и как оно будет себя вести в новом системном окружении. Чтобы помочь Вам протестировать приложение в различных версиях платформ Android, пакет Android SDK, который Вы можете загрузить, включает многие платформы и версии API. Каждая платформа включает совместимый образ системы, который Вы можете запустить в AVD, для тестирования Вашего приложения.

    Application backward compatibility — означает совместимость приложения со старыми версиями операционной системы Android. Приложения не обязательно будут обратно совместимы с версиями платформ Android, которые имеют более старую версию, чем версия системы, под которую приложение было скомпилировано.

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

    [Выбор версии платформы и API Level]

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

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

    [Декларирование минимальной версии API Level]

    Если Вы компилируете приложение, которое использует API или системные возможности, представленные в последней версии платформы, Вы должны установить атрибут android:minSdkVersion в значение API Level этой последней версии платформы. Это обеспечит, что приложение будет установлено только на тех устройствах, которые будут совместимы с нужной версией платформы Android. В свою очередь это гарантирует, что Ваше приложение может функционировать должным образом на их устройствах.

    Если Ваше приложение использует API, представленные в последней версии платформы, но не будет декларировать атрибут android:minSdkVersion, то оно будет правильно работать на устройствах, где работает последняя версия платформы, но не на устройствах, где работают более ранние версии платформы. В последнем случае приложения будут завершаться по ошибке во время выполнения, когда попытается использовать API, которое не существует в предыдущих версиях.

    Читайте также:  Удаление apk файлов с андроида

    [Тестирование на верхних уровнях API Level]

    После того, как скомпилировали приложение, Вы должны убедиться, что протестировали его на платформе, указанной в атрибуте android:minSdkVersion приложения. Чтобы сделать это, создайте AVD, которая использует версию платформы, требуемую приложением. Дополнительно, чтобы убедиться в forward-совместимости, Вы должны запустить и протестировать приложение на всех платформах, которые используют более высокий уровень API Level, чем использует Ваше приложение.

    Android SDK включает в себя множество версий платформ, которые Вы можете использовать, включая последнюю версию, и предоставляет инструмент обновления (updater tool), который можно использовать для загрузки других необходимых версий платформ. Чтобы запустить updater, используйте инструмент командную строки android (на Windows это android.bat), находящийся в директории / tools directory. Вы можете запустить SDK updater, если выполните команду android sdk. Вы также можете сделать двойной клик на файле android.bat (под Windows) или android (под OS X/Linux). В ADT Вы можете также получить доступ к updater путем выбора меню Window -> Android SDK Manager.

    Чтобы запустить приложение на другой версии платформы в эмуляторе, создайте отдельное виртуальное устройство AVD для каждой версии платформы, которую Вы хотели бы протестировать. Подробнее про AVD см. [5]. Если для тестирования Вы используете физическое устройство, убедитесь, что знаете API Level платформы, на которой запускаете приложение.

    [Использование Provisional API Level]

    В некоторых случаях может быть доступен «Ранний просмотр (Early Look)» платформы Android SDK. Это означает разработку для платформы, которая пока официально не появилась на рынке. Чтобы начать разработку на платформе, API которой еще не получила финальную версию, то не указывается API Level платформы. Вместо этого Вы должны использовать предварительный (provisional) API Level в манифесте приложения, когда делаете сборку приложения на указанной платформе. Provisional API Level не является числом, это строка, соответствующая кодовому имени еще не выпущенной версии платформы. Provisional API Level будет указан в примечаниях к релизу для ранних релизов SDK (Early Look SDK release), и эта строка чувствительна к регистру символов.

    Использование provisional API Level разработано для того, чтобы защитить разработчиков и пользователей устройств от нежелательной публикации или инсталляции приложений, основанных на Early Look framework API, потому что на финальном образе системы приложение может работать не так, как ожидалось.

    Provisional API Level будет допустим только при использовании Early Look SDK, и его можно использовать для запуска приложений только в эмуляторе. Приложения, использующие provisional API Level, никогда не могут быть установлены на устройство Android. После финального релиза платформы Вы должны заменить любые экземпляры provisional API Level в Вашем файле манифеста приложения на действительный идентификатор API Level в виде целого числа.

    [Фильтрация документации на основе API Level]

    Страницы документации на сайте разработчиков Android предоставляют фильтр «Filter by API Level» в правом верхнем углу на каждой страничке. Вы можете использовать этот контрол для того, чтобы просмотреть документацию только для частей API, которые действительно доступны для Вашего приложения, основываясь на API Level, который указан в android:minSdkVersion файла манифеста.

    Чтобы использовать фильтрацию, поставьте галочку в чекбоксе для разрешения фильтрации, сразу ниже бокса поиска на странице. Затем установите контрол «Filter by API Level» в тот же API Level, который используется в Вашем приложении. Обратите внимание, что API, представленный в последующих версиях API Level нарисованы серым, и это содержимое будет замаскировано, потому что не будет доступно в Вашем приложении.

    Фильтрация по API Level в документации не предоставляет просмотр, что нового представлено в каждом API Level. Фильтрация просто предоставляет метод для просмотра всего API, связанного с указанным API Level, когда исключаются элементы API, представленные в последующих API Levels.

    Если Вы решили, что не хотите фильтровать документацию API, то просто отключите опцию, используя флажок. По умолчанию запрещена фильтрация по API Level, так что Вы можете увидеть полный full framework API, не обращая внимания на API Level.

    Также имейте в виду, что документация по отдельным элементам API указывает API Level для каждого представленного элемента. API Level для пакетов и классов указывается как «Since » в правом верхнем углу содержимого каждой страницы документации. API Level для членов класса указан в соответствующем заголовочном файле.

    Источник

    Оцените статью