Android tool api level

Общие сведения об уровнях API Android

Xamarin. Android имеет несколько параметров уровня API Android, которые определяют совместимость приложения с несколькими версиями Android. В этом руководство объясняется, что означают эти параметры, как их настроить и как они влияют на приложение во время выполнения.

Быстрый запуск

Xamarin. Android предоставляет три параметра проекта уровня API Android:

Целевая платформа — указывает, какая платформа будет использоваться при сборке приложения. Этот уровень API используется на этапе компиляции Xamarin. Android.

Минимальная версия Android — указывает самую раннюю версию Android, которую должно поддерживать ваше приложение. Этот уровень API используется Android во время выполнения .

Целевая версия Android — указывает версию Android, на которой должно выполняться приложение. Этот уровень API используется Android во время выполнения .

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

Начиная с августа 2020, для консоли Google Play требуется, чтобы новые приложения были нацелены на уровень API 29 (Android 10,0) или более поздней версии. Существующие приложения должны быть нацелены на уровень API 29 или выше, начиная с ноября 2020. Дополнительные сведения см. в разделе требования к целевому уровню API для консоли воспроизведения раздела «Создание и настройка приложения» в документации по консоли воспроизведения.

Как правило, для всех трех уровней API Xamarin. Android задано одно и то же значение. На странице приложение задайте для параметра компилировать с помощью версии Android (Целевая платформа) последнюю стабильную версию API (или, как минимум, до версии Android, которая содержит все необходимые компоненты). На следующем снимке экрана для целевой платформы задано значение Android 7,1 (API уровня 25-Nougat):

На странице манифеста Android установите минимальную версию Android для использования компиляции с использованием версии пакета SDK и задайте для целевой версии Android то же значение, что и для целевой версии .NET Framework (на следующем снимке экрана Целевая платформа android имеет значение Android 7,1 (Nougat)):

Если вы хотите обеспечить обратную совместимость с более ранней версией Android, задайте для минимальной версии Android целевую версию Android, которая будет поддерживаться вашим приложением. (Обратите внимание, что уровень API 14 — это минимальный уровень API, необходимый для Google Play служб и поддержки Firebase.) В следующем примере конфигурация поддерживает версии Android из API уровня 14 через уровень API 25.

Как правило, для всех трех уровней API Xamarin. Android задано одно и то же значение. Задайте для целевой платформы последнюю стабильную версию API (или, как минимум, до версии Android, которая содержит все необходимые компоненты). чтобы задать целевую платформу, перейдите к разделу сборка общие в параметрах Project. На следующем снимке экрана Целевая платформа настроена для использования последней установленной платформы (8,0):

параметры минимальной и целевой версий android можно найти в разделе сборка приложения android в параметрах Project. Задайте минимальную версию Android для автоматического использования целевой версии .NET Framework и задайте в качестве целевой версии Android то же значение, что и у целевой версии .NET Framework. На следующем снимке экрана Целевая платформа Android настроена на android 8,0 (API уровня 26) в соответствии с параметром целевой платформы выше:

Если вы хотите обеспечить обратную совместимость с более ранней версией Android, измените минимальную версию Android на самую старую версию Android, которую должно поддерживать ваше приложение. Обратите внимание, что уровень API 14 — это минимальный уровень API, необходимый для Google Play служб и поддержки Firebase. Например, следующая конфигурация поддерживает версии Android как раньше, чем API уровня 14:

Если приложение поддерживает несколько версий Android, в коде должны содержаться проверки среды выполнения, чтобы обеспечить работу приложения с минимальной версией Android (Дополнительные сведения см. в разделе проверки среды выполнения для версий Android ниже). Если вы используете или создаете библиотеку, ознакомьтесь со статьей уровни API и библиотеки ниже, чтобы получить рекомендации по настройке параметров уровня API для библиотек.

Версии Android и уровни API

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

Версии Android

Каждый выпуск Android проходит несколько имен:

  • Версия Android, например android 9,0
  • Имя кода (или десерт), например круговая диаграмма
  • Соответствующий уровень API, например уровень API 28

Имя кода Android может соответствовать нескольким версиям и уровням API (как показано в таблице ниже), но каждая версия Android соответствует ровно одному уровню API.

Читайте также:  Как сделать чтобы андроид видел файлы

Кроме того, Xamarin. Android определяет коды версий сборки , которые сопоставляются с известными уровнями API Android. Следующая таблица поможет вам выполнить преобразование между уровнем API, версией Android, кодовым именем и кодом версии сборки Xamarin. Android (коды версий сборки определены в Android.OS пространстве имен):

Название Версия Уровень API Выпущено Код версии сборки
Q 10.0 29 Август 2020 г. BuildVersionCodes.Q
Pie 9.0 28 Авг 2018 BuildVersionCodes.P
Oreo 8.1 27 Dec 2017 BuildVersionCodes.OMr1
Oreo 8.0 26 Авг 2017 BuildVersionCodes.O
Nougat 7.1 25 Dec 2016 BuildVersionCodes.NMr1
Nougat 7.0 24 Авг 2016 BuildVersionCodes.N
Marshmallow 6.0 23 Авг 2015 BuildVersionCodes.M
Lollipop 5.1 22 Мар 2015 BuildVersionCodes.LollipopMr1
Lollipop 5.0 21 Ноя 2014 BuildVersionCodes.Lollipop
KitKat Watch 4.4 w 20 Июнь 2014 BuildVersionCodes.KitKatWatch
KitKat 4.4. 19 Окт 2013 BuildVersionCodes.KitKat
Jelly Bean 4.3 18 Июл 2013 BuildVersionCodes.JellyBeanMr2
Jelly Bean 4.2 — 4.2.2 17 2012 ноября BuildVersionCodes.JellyBeanMr1
Jelly Bean 4.1 — 4.1.1 16 Июнь 2012 BuildVersionCodes.JellyBean
Южные Сандвичевы 4.0.3 — 4.0.4 15 Dec 2011 BuildVersionCodes.IceCreamSandwichMr1
Южные Сандвичевы 4.0 — 4.0.2 14 Октябрь 2011 BuildVersionCodes.IceCreamSandwich
хонэйкомб 3.2 13 Июнь 2011 BuildVersionCodes.HoneyCombMr2
хонэйкомб 3.1. x 12 Май 2011 BuildVersionCodes.HoneyCombMr1
хонэйкомб 3.0. x 11 Фев 2011 BuildVersionCodes.HoneyComb
Gingerbread 2.3.3 — 2.3.4 10 Фев 2011 BuildVersionCodes.GingerBreadMr1
Gingerbread 2.3 — 2.3.2 9 2010 ноября BuildVersionCodes.GingerBread
фройо 2.2. x 8 Июнь 2010 BuildVersionCodes.Froyo
еклаир 2.1.x 7 янв 2010 BuildVersionCodes.EclairMr1
еклаир 2.0.1 6 Dec 2009 BuildVersionCodes.Eclair01
еклаир 2.0 5 2009 ноября BuildVersionCodes.Eclair
кольцевой график; 1.6 4 Sep 2009 BuildVersionCodes.Donut
купкаке 1.5 3 Май 2009 BuildVersionCodes.Cupcake
Основной 1,1 2 Фев 2009 BuildVersionCodes.Base11
Основной 1,0 1 Октябрь 2008 BuildVersionCodes.Base

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

Уровни API Android

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

При сборке приложения он содержит следующие сведения об уровне API:

Целевой уровень API Android, на котором построено приложение для запуска.

Минимальный уровень API Android, который должен иметь устройство Android для запуска приложения.

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

Project параметров уровня API

В следующих разделах объясняется, как с помощью диспетчера пакетов SDK подготовить среду разработки для уровней API, которые вы хотите ориентировать, а затем подробно объяснить, как настроить целевую платформу, минимальную версию Androidи целевые параметры версии Android в Xamarin. Android.

Платформы пакет SDK для Android

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

Требуемая версия .NET Framework

Целевая платформа (также известная как ) — это конкретная версия платформы Android (уровень API), для которой компилируется приложение во время сборки. Этот параметр указывает, какие API- интерфейсы будет использовать приложение при его запуске, но не влияет на то, какие API фактически доступны для приложения при его установке. В результате изменение параметра целевой платформы не приводит к изменению поведения среды выполнения.

Целевая платформа определяет, с какими версиями библиотек связано ваше приложение. Этот параметр определяет, какие интерфейсы API можно использовать в приложении. Например, если вы хотите использовать метод нотификатионбуилдер. сеткатегори , который появился в интерфейсе программирования Android 5,0, необходимо задать целевую платформу на уровне API 21 (без описания операций) или более поздней версии. Если задать для целевой платформы проекта уровень API, такой как API уровня 19 (KitKat) , и попытаться вызвать метод в коде, возникнет ошибка компиляции.

Рекомендуется всегда компилироваться с последней доступной версией целевой платформы. Это позволяет получить полезные предупреждения для всех устаревших интерфейсов API, которые могут быть вызваны кодом. Использование последней версии целевой платформы особенно важно при использовании последних версий библиотеки поддержки — каждая библиотека предполагает, что приложение должно быть скомпилировано на основе минимального уровня API библиотеки поддержки или выше.

чтобы получить доступ к параметру целевой платформы в Visual Studio, откройте свойства проекта в обозреватель решений и выберите страницу приложения :

Задайте целевую платформу, выбрав уровень API в раскрывающемся меню в разделе компилировать с использованием версии Android , как показано выше.

чтобы получить доступ к параметру целевой платформы в Visual Studio для Mac, щелкните правой кнопкой мыши имя проекта и выберите пункт параметры. откроется диалоговое окно параметры Project . В этом диалоговом окне перейдите к разделу Сборка Общие , как показано ниже:

Задайте целевую платформу, выбрав уровень API в раскрывающемся меню справа от целевой платформы , как показано выше.

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

Минимальная версия Android (также известная как ) — это самая старая версия ОС Android (то есть самый низкий уровень API), которая может установить и запустить приложение. По умолчанию приложение может быть установлено только на устройствах, соответствующих параметру целевой платформы или выше. Если минимальная версия Android меньше, чем Целевая платформа, приложение также может работать в более ранних версиях Android. Например, если задать в качестве целевой платформы android 7,1 (Nougat) и установить для минимальной версии Android значение Android 4.0.3 (Ice-Южные Сандвичевы), приложение можно установить на любой платформе с уровня API 15 на уровень API 25 включительно.

Несмотря на то, что приложение может успешно создаваться и устанавливаться на этом диапазоне платформ, это не гарантирует, что он будет успешно запущен на всех этих платформах. Например, если приложение установлено в android 5,0 (без описания операций) и код вызывает API, доступный только в Android 7,1 (Nougat) и более поздней версии, приложение получит ошибку во время выполнения и, возможно, приведет к сбою. Поэтому код должен гарантировать – во время выполнения — он вызывает только те интерфейсы API, которые поддерживаются устройством Android, на котором оно выполняется. Иными словами, код должен включать явные проверки среды выполнения, чтобы гарантировать, что приложение использует более новые API только на тех устройствах, которые достаточно актуальны для их поддержки. Проверка среды выполнения для версий Androidдалее в этом руководство объясняет, как добавить эти проверки среды выполнения в код.

чтобы получить доступ к параметру минимальной версии Android в Visual Studio, откройте свойства проекта в обозреватель решений и выберите страницу манифеста android . В раскрывающемся меню в разделе Минимальная версия Android можно выбрать минимальную версию Android для приложения:

Если выбрать параметр использовать компиляцию с использованием версии пакета SDK, минимальная версия Android будет совпадать с целевой платформой.

чтобы получить доступ к минимальной версии Android в Visual Studio для Mac, щелкните правой кнопкой мыши имя проекта и выберите пункт параметры. откроется диалоговое окно параметры Project . Перейдите к разделу Сборка приложения Android. С помощью раскрывающегося меню справа от минимальной версии Androidможно задать минимальную версию Android для приложения:

Если выбрать параметр автоматически — использовать целевую версию .NET Framework, минимальная версия Android будет совпадать с целевой платформой.

Целевая версия Android

Целевая версия Android (также известная как ) — это уровень API устройства Android, на котором должно выполняться приложение. Android использует этот параметр, чтобы определить, следует ли включить любое поведение совместимости. Это гарантирует, что приложение продолжит работать так, как вы планируете. Android использует параметр целевой версии Android приложения, чтобы определить, какие изменения поведения можно применить к приложению без его нарушения (это то, как Android обеспечивает прямую совместимость).

Целевая платформа и Целевая версия Android с очень похожими именами не совпадают. Параметр целевой платформы передает сведения о целевом уровне API в Xamarin. Android для использования во время компиляции, а Целевая версия Android передает сведения о ЦЕЛЕВом интерфейсе API в Android для использования во время выполнения (если приложение установлено и выполняется на устройстве).

чтобы получить доступ к этому параметру в Visual Studio, откройте свойства проекта в обозреватель решений и выберите страницу манифеста Android . В раскрывающемся меню в разделе Целевая версия Android можно выбрать целевую версию Android для приложения:

Рекомендуется явно указать в качестве целевой версии Android последнюю версию Android, используемую для тестирования приложения. В идеале его следует устанавливать на последнюю версию пакет SDK для Android — это позволяет использовать новые интерфейсы API до начала работы с изменениями поведения. Для большинства разработчиков не рекомендуется задавать в качестве целевой версии Android Использование функции Compile с использованием версии пакета SDK.

чтобы получить доступ к этому параметру в Visual Studio для Mac, щелкните правой кнопкой мыши имя проекта и выберите пункт параметры. откроется диалоговое окно параметры Project . Перейдите к разделу Сборка приложения Android. С помощью раскрывающегося меню справа от целевой версии Androidможно задать целевую версию Android для приложения:

Рекомендуется явно указать в качестве целевой версии Android последнюю версию Android, используемую для тестирования приложения. В идеале следует установить последнюю доступную версию пакет SDK для Android — это позволяет использовать новые интерфейсы API до начала работы с изменениями поведения. Для большинства разработчиков не рекомендуется устанавливать целевую версию Android для автоматического использования целевой версии .NET Framework.

В общем случае целевая версия Android должна быть ограничена минимальной версией Android и целевой платформой. Это означает следующее:

Минимальная версия Android = Целевая версия Android Android.OS.Build.VERSION.SdkInt чтобы определить уровень API платформы, в которой работает приложение. Если уровень API меньше, чем минимальная версия Android, поддерживающая API, которую нужно вызвать, то код должен найти способ правильной работы без выполнения этого вызова API.

Например, предположим, что мы хотим использовать метод нотификатионбуилдер. сеткатегори для категоризации уведомлений при работе в программной интерфейсной системе Android 5,0 (и более поздних версиях), но мы по-прежнему хотим, чтобы наше приложение выполнялось в более ранних версиях android, например Android 4,1 Jelly Bean (где недоступно). Ссылка на таблицу версий Android в начале этого руководством, мы видим, что код версии сборки для Android 5,0 без описания операций . Для поддержки старых версий Android, где SetCategory недоступен, наш код может определить уровень API во время выполнения и условно вызывать его SetCategory только в том случае, если уровень API больше или равен коду версии сборки без описания операций:

В этом примере для нашей целевой платформы приложения задано значение android 5,0 (API уровня 21) , а для минимальной версии Android — Android 4,1 (уровень API 16). Поскольку SetCategory доступен на уровне API Android.OS.BuildVersionCodes.Lollipop и более поздней версии, этот пример кода будет вызывать SetCategory только тогда, когда он действительно доступен — он SetCategory будет пытаться вызывать, SetCategory Если уровень API равен 16, 17, 18, 19 или 20. Эта функция в предыдущих версиях Android сокращается только до того экстента, в котором уведомления не сортируются должным образом (так как они не классифицируются по типу), но уведомления по-прежнему публикуются для оповещения пользователя. Наше приложение по-прежнему работает, но его функциональные возможности немного уменьшаются.

Как правило, проверка версии сборки помогает вашему коду принимать во время выполнения действия по сравнению со старым способом. Например:

Нет быстрого и простого правила, объясняющих, как сократить или изменить функциональность приложения при запуске в более старых версиях Android, в которых отсутствует один или несколько API-интерфейсов. В некоторых случаях (например, в приведенном SetCategory выше примере) достаточно опустить вызов API, если он недоступен. Однако в других случаях может потребоваться реализовать альтернативную функциональность, когда Android.OS.Build.VERSION.SdkInt обнаруживается меньше уровня API, необходимого приложению для обеспечения его оптимального взаимодействия.

Уровни API и библиотеки

При создании проекта библиотеки Xamarin. Android (например, библиотеки классов или библиотеки привязок) можно настроить только параметр целевой платформы — минимальная версия Android и параметры целевой версии Android недоступны. Это связано с тем, что отсутствует страница манифеста Android :

При создании проекта библиотеки Xamarin. Android нет страницы приложения Android , на которой можно настроить минимальную версию Android и целевую версию Android — минимальная версия Android и Целевая версия Android недоступны. Это связано с тем, что страница Сборка приложения Android отсутствует:

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

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

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

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

Итоги

В этом руководство объясняется, как уровни API Android используются для управления совместимостью приложений в разных версиях Android. В нем содержатся подробные инструкции по настройке целевого платформыXamarin. Android, минимальной версии Androidи параметров проекта целевой версии Android . В нем предоставлены инструкции по использованию диспетчера пакет SDK для Android для установки пакетов SDK, включая примеры написания кода для работы с различными уровнями API во время выполнения, а также объясняется, как управлять уровнями API при создании или использовании библиотек Android. Он также предоставляет исчерпывающий список, который связывает уровни API с номерами версий Android (например, Android 4,4), именами версий Android (например, KitKat) и кодами версий сборки Xamarin. Android.

Источник

Читайте также:  Как открыть заблокированный андроид
Оцените статью