Supported api 3 что это на андроид как исправить на телефоне bq

В статье мы расскажем, что означает предупреждение Supported API: 3 в меню рекавери Андроид и каким образом исправить эту блокировку.

На чтение 3 мин Опубликовано 27.02.2019

Владельцы девайсов на Андроиде могут столкнуться с проблемой при работе в режиме рекавери «Supported API: 3», – что это и как исправить ситуацию. Этот сбой делает невозможным запуск устройства, возвращая пользователя в рекавери.

Проблема-Supported-API-3-на-Андроиде

Проблема Supported API: 3 на Андроиде

Содержание

  1. Причина ошибки
  2. Варианты исправления
  3. Подведем итоги

Причина ошибки

Supported API: 3 чаще всего вызвана проблемой считывания с устройства хранения, что может говорить о повреждениях накопителя или файла прошивки, а также о неисправности любого из модулей смартфона. Эта проблема распространена на девайсах с MTK-процессорами и версиях Андроида 7 или выше. Сбой может возникнуть как при установке заводской, так и стоковой прошивки, включая обновление действующей системы любым способом.

Варианты исправления

Из-за огромного списка возможных причин, которые приводят к проблемам со считыванием информации, сложно выделить метод, гарантирующий восстановление работоспособности смартфона или планшета. Обратите внимание, что рекомендуется доверить исправление профессионалу, так как ошибки в процессе восстановления могут превратить девайс в «кирпич».

Какие наиболее безопасные решения могут оказаться полезными?

  1. Замена карты памяти.
  2. Откат изменений.
  3. Полная очистка телефона.
  4. Запуск девайса без флешки.
  5. Проверка карты памяти и внутренней памяти устройства на наличие повреждений и битых секторов.
  6. При наличии съемного АКБ, отключить его на несколько часов.

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

Для процессоров MTK рекомендуемым инструментом для этой процедуры является приложение SP Flash Tool. Процедура выглядит следующим образом.

  1. Открыть приложение, загрузив интересующую прошивку.
  2. Перейдите во вкладку «Format» (возле вкладки «Download»).
  3. Выбирайте автоформат, форматируя всю flash-память, не трогая загрузчик. Это важно.Выбирайте-при-форматировании-Auto-Format
    Выбирайте при форматировании Auto Format
  4. Через несколько секунд после запуска процедуры появится окошко об успешном завершении.
  5. Только после этого можно приступить непосредственно к перепрошивке девайса.

Для установки подключения между ПК и устройством могут потребоваться драйвер для Preloader и USB, соответствующие версии процессора.

Подведем итоги

Надеюсь теперь вы понимаете, что за сбой «Supported API: 3» возникает на Андроиде и каким образом исправляется ошибка. Внимательно изучите все нюансы исправления. В большинстве случаев выходом из ситуации является полная перепрошивка девайса, которую не рекомендуется проводить неопытным пользователям, плохо разбирающимся в процедуре. Среди вероятных причин присутствуют неисправности на программном и аппаратном уровне, поэтому для точной диагностики необходимо участие специалиста.

Ошибка Supported API: 3 в основном вызывается ошибкой считывания с устройства хранения, это свидетельствует о повреждениях накопителя или прошивочного файла, неисправности любого из системных элементов смартфона. Данный баг распространен на девайсах с MTK-процессорами и смартфонах с Андроид 7 и выше. Ошибка появляется при установке заводской прошивки и перепрошивке, включая апдейт действующей системы разными методами.

Варианты устранения ошибки

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

Рассмотрим наиболее безопасные и полезные решения проблемы:

  • Смена карты памяти.
  • Восстановление после внесенных изменений.
  • Полная очистка смартфона.
  • Запуск без флеш-накопителя.
  • Проверка карты памяти и внутренней памяти, чтобы выявить поврежденные или битые сектора.
  • Деактивировать на несколько часов съемное АКБ.

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

Для процессоров MTK оптимальным вариантом выступает приложение SP Flash Tool. Необходимо выполнить следующие действия:

  • Зайти в приложение после загрузки прошивки.
  • Зайти в пункт Format.
  • Выбрать автоформат, отформатировать всю флэш-память, не затрагивая загрузчик файлов.
  • После завершения процесса возникнет уведомление об успешности операции.
  • Выполнить перепрошивку смартфона.
  • Для установки соединения между ПК и смартфоном установить драйвер для Preloader и USB.

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

Software install failed что делать

Ошибка PMT changed for the ROM it must be downloaded как исправить?

Завис телефон на заставке включения

PUBG Mobile — ошибка 154140712 и способы ее устранения

Коды ошибок 01-01, 20-01, 01-05 в приложении Сбербанк Онлайн – как решить проблему?

Supported api 3 wiping data formatting data

Владельцы девайсов на Андроиде могут столкнуться с проблемой при работе в режиме рекавери “Supported API: 3”, – что это и как исправить ситуацию. Этот сбой делает невозможным запуск устройства, возвращая пользователя в рекавери.

Причина ошибки

Supported API: 3 чаще всего вызвана проблемой считывания с устройства хранения, что может говорить о повреждениях накопителя или файла прошивки, а также о неисправности любого из модулей смартфона. Эта проблема распространена на девайсах с MTK-процессорами и версиях Андроида 7 или выше. Сбой может возникнуть как при установке заводской, так и стоковой прошивки, включая обновление действующей системы любым способом.

Варианты исправления

Из-за огромного списка возможных причин, которые приводят к проблемам со считыванием информации, сложно выделить метод, гарантирующий восстановление работоспособности смартфона или планшета. Обратите внимание, что рекомендуется доверить исправление профессионалу, так как ошибки в процессе восстановления могут превратить девайс в “кирпич”.

Какие наиболее безопасные решения могут оказаться полезными?

  1. Замена карты памяти.
  2. Откат изменений.
  3. Полная очистка телефона.
  4. Запуск девайса без флешки.
  5. Проверка карты памяти и внутренней памяти устройства на наличие повреждений и битых секторов.
  6. При наличии съемного АКБ, отключить его на несколько часов.

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

Для процессоров MTK рекомендуемым инструментом для этой процедуры является приложение SP Flash Tool. Процедура выглядит следующим образом.

  1. Открыть приложение, загрузив интересующую прошивку.
  2. Перейдите во вкладку “Format” (возле вкладки “Download”).
  3. Выбирайте автоформат, форматируя всю flash-память, не трогая загрузчик. Это важно.

Для установки подключения между ПК и устройством могут потребоваться драйвер для Preloader и USB, соответствующие версии процессора.

Подведем итоги

Надеюсь теперь вы понимаете, что за сбой “Supported API: 3” возникает на Андроиде и каким образом исправляется ошибка. Внимательно изучите все нюансы исправления. В большинстве случаев выходом из ситуации является полная перепрошивка девайса, которую не рекомендуется проводить неопытным пользователям, плохо разбирающимся в процедуре. Среди вероятных причин присутствуют неисправности на программном и аппаратном уровне, поэтому для точной диагностики необходимо участие специалиста.

(1) Recovery (кастомный)

В двух словах, CWM, TWRP – это альтернативные рекавери (recovery) для Android устройств. Обычно их устанавливают по инструкции после разблокировки бутлоадера. С их помощью устанавливают/обновляют прошивки, патчи, гапсы и прочее.

Немного банального (азы):

Install — установка прошивки и прочих файлов *.zip (update.zip, gapps.zip, lineageos.zip и т.д.)

Wipe — очистка данных (подробнее об этом поговорим ниже)

Backup — бэкап системы (с возможностью выбора нужных разделов), в дальнейшем при необходимости (проблемах) можно будет воспользоваться этим (созданным заранее) бэкапом.

Restore — собственно команда отвечающая за восстановление системы из бэкапа (если таковой был сделан).

Mount USB Storage — монтирование флешки, подключенной через OTG. Обычно это нужно для подключения устройства к ПК прямо из рекавери (twrp), например чтобы скинуть другую прошивку, гаппсы и прочие файлы.

File Manager – менеджер файлов.

Reboot — перезагрузка устройства

(2) WIPE

Wipe Factory Reset — это совокупность нескольких вайпов (wipe data, cache и dalvik cache) по простому сброс до заводских настроек. Сотрутся все программы, обновление системных приложений, аккаунты, смс, вызовы, телефонная книга, настройки программ и системы. Получаем аппарат как с магазина, кроме оставшихся: фото, видео, документов, скаченных файлов, картинок и прочего, Вами скопированного на встроенный, внешний накопители, контента.

— Вы можете выбрать Advanced wipe и выбрать те вайпы которые необходимо сделать. Коротко про каждый вайп:

Cache — очистка раздела /cache , удаляться временные данные деятельности программ.

Dalvik Cache — очистка Dalvik Cache, оптимизированные dex файлы для каждого приложения. Если очистить, файлы создадутся заново, обычно это необходимо при обновлении прошивки или гаппсов.

Wipe Data — очистка раздела /data , удаляться все ваши программы их данные, личные настройки..

Wipe System — очистка раздела /system устройства, по простому удаление прошивки.

External Storage — очистка внешней памяти SD карты устройства.

Internal Storage — очистка внутренней памяти устройства.

Не отмечайте пункт System, если вы не планируете затем устанавливать полную прошивку или не уверены в своих силах. Если вайпнуть систему и не прошить новую прошивку, устройство не запустится.

(3) Форматирование пользовательского раздела (/data)

Причины по которым вам могут посоветовать сделать формат:

— Продажа аппарата. Это действие гарантирует полное удаление данных с телефона связанных с предыдущим владельцем на устройствах, у которых накопитель объединен с разделом /data.

— После/до установки авторских, модифицированных прошивок.

— Зависание при включении, спонтанная перезагрузка, постоянная перезагрузка, даже после заводского сброса.

— Сбои в работе приложений, даже после заводского сброса.

Все симптомы вызваны зачастую ошибками файловой системы. А заводской сброс не всегда означает именно форматирование раздела, т.е создание новой файловой системы, а не просто удаление с раздела папок/файлов.

Процедура форматирования:

  1. Загрузить меню recovery
  2. Выбрать пункт меню: Wipe.
  3. Нажать кнопку: Format Data.
  4. Набрать на клавиатуре слово: yes, и нажать кнопку: Go.
  5. По завершении процесса можно вернутся в основное меню, нажав кнопку: Дом.
  6. Для перезагрузки устройства в обычный режим выбрать: Reboot — Reboot System.

(4) Процедура выборочного стирания

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

  1. Загрузить меню recovery.
  2. Выбрать пункт меню: Wipe.
  3. Нажать кнопку: Advanced Wipe.
  4. Отметить пункты: Cache, Data, Internal Storage, external microSD.
  5. Свайп вправо запустит процесс стирания данных или форматирования разделов и накопителей.
  6. Для перезагрузки устройства в обычный режим выбрать: Reboot — Reboot System.

Некоторая часть информации была позаимствована вот тут — тык.

Иногда, смарт-терминал может зависнуть, либо может потребоваться сброс настроек до состояния «заводских», с которыми устройство отгружается с завода.

Советуем выполнять сброс на закрытой смене!

Инструкция описывает процесс сброса.

Область применения:

Операционная система:

EvoPOS 3.Х.Y (например 3.5.3)

Порядок действий:

  1. Выключаем смарт-терминал;
  1. При включении, зажимаем кнопку громкости «+» и не отпускаем до появления Boot Menu;

  1. В появившемся Boot Menu меню выбираем кнопкой громкости «+» пункт: «Recovery» и подтверждаем выбор кнопкой громкости «-«, появится меню Andriod Recovery;

  1. Выбираем кнопкой громкости «-» пункт: “Wipe data/factory reset

  1. Подтверждаем действие кнопкой блокировки экрана
  2. Выбираем пункт “Yes— delete all user data” клавишей громкости «-«, подтверждаем кнопкой блокировки экрана;

  1. После подтверждения произойдет форматирование системы:

Wiping data;
Formatting /data;
Formatting /nvdata;
Formatting /cache;
Data wipe complete.

Supported api 3 как исправить

Leagoo KIICAA Power — Прошивки
ИзображениеLeagoo KIICAA Power
Описание | Обсуждение » | Покупка » | Аксессуары » | Модификация и украшательства » | Прошивки »

Никогда ни при каких обстоятельствах нельзя делать сброс к заводским с андроида (в настройках) когда вместо стокового рекавери установлен TWRP, иначе будет циклическая загрузка в рекавери!
На данный момент есть две ревизии T592 и T591. Как отличить версии? | ещё один способ | И ещё один способ.
Появились смартфоны ревизии t592 с новыми экранами! Для них отдельные прошивки! Обращайте на это внимание!
Какие бывают экраны и как их различать
Если вы устанавливаете прошивку с помощью SP Flash Tool, то ни в коем случайные не выбирайте «Format All + Download». Объяснения

    • x32 / 3.18.35 / TWRP
    • x32 / 3.18.35 / TWRP
    • x32 / 3.18.35 / SP Flash Tool
    • x32 / 3.18.35 / TWRP / T591
    • x32 / 3.18.35 / TWRP / T591
    • x32 / 3.18.35 / SP Flash Tool / T591 + T592
    | ˇдля TWRP

    • x32 / 3.18.35 / TWRP • от rozetkin
    • x32 / 3.18.35 / TWRP • от Mcstadnick

    • x32 / 3.18.35 / TWRP • от R05tik
    • x32 / 3.18.35 / TWRP • от rozetkin | Патч поддержки новых экранов
    • x32 / 3.18.35 / TWRP • от R05tik
    • x32 / 3.18.35 / TWRP • от kachalago
    • x32 / 3.18.35 / TWRP
    • x32 / 3.18.35 / TWRP • от rozetkin
    • x32 / 3.18.35 / TWRP • от rozetkin
    • x32 / 3.18.35 / TWRP • от rozetkin | Патч для t592
    • x32 / 3.18.35 / TWRP • от rozetkin
    • x32 / 3.18.35 / TWRP • от R05tik
    • x32 / 3.18.35 / TWRP • от rozetkin
    • x32 / 3.18.35 / TWRP • от rozetkin | Патч для t591
    • x32 / 3.18.35 / TWRP • от rozetkin
  • В : Слышал в теме водятся гадалки, экстрасенсы и маги?
  • О : Нет, к сожалению они ушли на РенТв, тнт и тв3. А пока до их возвращения, если вы хотите получить нормальный ответ, соответствуйте форме

Прикрепленное изображение

Прикрепленное изображение

Прикрепленное изображение

Прикрепленное изображение

Прикрепленное изображение

Прикрепленное изображение

В теме нет куратора. По вопросам наполнения шапки обращайтесь к модераторам раздела через кнопку под сообщениями, на которые необходимо добавить ссылки.

Сообщение отредактировал derak1129 — 29.11.21, 10:40

Для получения root, использовать данный скрипт
® SuperSU

Сообщение отредактировал rozetkin — 27.03.18, 11:55

logza,
lemari11,

1. Скачать все из Этого поста. Поставить плюс
2. Скачать из Этого поста Архив для прошивки из CWMTWRP recovery. Поставить плюс.
3. С помощью Flashtool установить TWRP. Примерно Так
4. Из TWRP установить SuperSU. Примерно Так

Если нужно, могу описать подробно.

Сообщение отредактировал grafom — 24.08.17, 15:19

Зеркало прошивки от 08.31 на MEGA
На Яндекс или Гугл заливать не буду

Ошибка Supported API: 3 в основном вызывается ошибкой считывания с устройства хранения, это свидетельствует о повреждениях накопителя или прошивочного файла, неисправности любого из системных элементов смартфона. Данный баг распространен на девайсах с MTK-процессорами и смартфонах с Андроид 7 и выше. Ошибка появляется при установке заводской прошивки и перепрошивке, включая апдейт действующей системы разными методами.

Supported API: 3 на Андроиде

Варианты устранения ошибки

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

Рассмотрим наиболее безопасные и полезные решения проблемы:

  • Смена карты памяти.
  • Восстановление после внесенных изменений.
  • Полная очистка смартфона.
  • Запуск без флеш-накопителя.
  • Проверка карты памяти и внутренней памяти, чтобы выявить поврежденные или битые сектора.
  • Деактивировать на несколько часов съемное АКБ.

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

Для процессоров MTK оптимальным вариантом выступает приложение SP Flash Tool. Необходимо выполнить следующие действия:

  • Зайти в приложение после загрузки прошивки.
  • Зайти в пункт Format.
  • Выбрать автоформат, отформатировать всю флэш-память, не затрагивая загрузчик файлов.

SP Flash Tool
  • После завершения процесса возникнет уведомление об успешности операции.
  • Выполнить перепрошивку смартфона.
  • Для установки соединения между ПК и смартфоном установить драйвер для Preloader и USB.

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

Время прочтения
7 мин

Просмотры 58K

Добрый вечер, друзья. Мы подготовили полезный перевод для будущих студентов курса «Android-разработчик. Продвинутый курс». С радостью делимся с вами данным материалом.


Если вы читаете эту статью, значит вас могут интересовать такие вещи, как:

  • Что означает уровень API?
  • Как использовать compileSdkVersion, minSdkVersion или targetSdkVersion?
  • Как можно гарантировать, что приложение будет работать правильно на устройствах с разными версиями ОС?

Все эти понятия связаны друг с другом, и я постараюсь объяснить их вам в этой статье простым, но эффективным способом.

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

Это правда, что в Android между SDK и API существует отношение 1:1, и часто эти два термина используются как синонимы, но важно понимать, что это не одно и то же.

Правильнее говорить, что для каждой версии Android есть SDK и эквивалентный API, а также уровень этого API.

SDK

Расшифровывается как Software Development Kit (комплект для разработки программного обеспечения). Обратите внимание на слово «kit» (комплект)… он как раз представляет из себя набор различных инструментов, библиотек, документации, примеров, помогающих разработчикам создавать, отлаживать и запускать приложения для Android. API предоставляется вместе с SDK.

Если открыть SDK Manager в Android Studio, можно будет яснее увидеть, из чего состоит Android SDK.

На первой вкладке SDK Platform перечислены SDK каждой версии Android.

Как показано на рисунке ниже, Android 9.0 SDK (также известный как Pie) содержит:

  • Android SDK Platform 28 (это API фреймворка).
  • Исходный код для Android 28 (это реализация API, как вы видите, она не является обязательной… запомните это).
  • и еще куча других вещей… например, различные системные образы для эмулятора Android.


Обзор SDK в Android Studio SDK Manager.

На второй вкладке SDK Tools показаны другие инструменты, которые также являются частью SDK, но не зависят от версии платформы. Это означает, что они могут быть выпущены или обновлены отдельно.

API

Расшифровывается как Application Programming Interface (программный интерфейс приложения). Это просто интерфейс, уровень абстракции, который обеспечивает связь между двумя разными «частями» программного обеспечения. Он работает как договор между поставщиком (например, библиотекой) и потребителем (например, приложением).

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

Уровень API

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

Обычно обновления API фреймворка платформы разрабатываются таким образом, чтобы новая версия API оставалась совместимой с более ранними версиями, поэтому большинство изменений в новом API являются аддитивными, а старые части API становятся устаревшими, но не удаляются.

И теперь кто-то может задаться вопросом…

если API Android не предоставляет реализацию, а SDK Manager предлагает необязательный загружаемый исходный код API в составе SDK, то где находится соответствующая реализация?

Ответ прост. На устройстве.

Давайте разберемся с этим…

От исходного кода к APK-файлу

Как правило, проект под Android состоит из кода, написанного разработчиками с использованием Android API (модуль приложения), а также некоторых других библиотек/зависимостей (.jar-файлов, AAR, модулей и т.д.) и ресурсов.

Процесс компиляции преобразует код, написанный на Java или Kotlin, включая зависимости (одна из причин уменьшить ваш код!), в байт-код DEX, а затем сжимает все в файл APK вместе с ресурсами. На данном этапе реализация API не включена в итоговый APK!


Процесс сборки — Android Developers

DEX файлы и Android Runtime


Архитектура Android — Android Developers

Android Runtime — это место, где делается вся грязная работа и где выполняются DEX-файлы. Оно состоит из двух основных компонентов:

  • Виртуальная машина, чтобы воспользоваться преимуществами переносимости кода и независимости от платформы. Начиная с Android 5.0 (Lollipop), старая среда выполнения, Dalvik Virtual Machine, была полностью заменена новой средой Android RunTime (ART). Dalvik использовал JIT-компилятор, тогда как ART использует AOT (Ahead of time) компиляцию плюс JIT для профилирования кода во время выполнения.
  • Базовые библиотеки — это стандартные библиотеки Java и Android. Проще говоря, именно здесь находится реализация API.

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

Например, если на фактическом устройстве установлен Android 9 (Pie), доступны все API до 28 уровня.

Если вам понятны ключевые моменты работы Android Runtime и какова роль API, то должно быть достаточно просто понять обратную и прямую совместимость, а так же использование compileSdkVersion, minSdkVersion и targetSdkVersion.

compileSdkVersion

Это значение используется только для указания Gradle, с какой версией SDK компилировать ваше приложение. Это позволяет разработчикам получить доступ ко всем API, доступным до уровня API, установленного для compileSdkVersion.

Настоятельно рекомендуется выполнить компиляцию с последней версией SDK:

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

Например, чтобы использовать SupportLibrary-28.x.x, compileSdkVersion также должен быть равен 28.

  • для перехода на AndroidX или его использования, compileSdkVersion должен быть установлен как минимум равным 28.
  • чтобы быть готовым удовлетворить требования целевого уровня API от Google Play. В Google объявили, что для более быстрого распространения новых версий Android на рынке Google каждый год будет устанавливать минимальный целевой уровень API для новых приложений и обновлений. Больше информации вы можете найти здесь и здесь.

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

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

Например:

Приложение + compileSdkVersion = 26 и метод API xyz(), представленный в API 26 уровня, могут работать на устройстве с Android 8 Oreo (API 26 уровня).

Это же приложение может работать на устройстве с Android 9 Pie (API 28 уровня), поскольку метод API xyz() все еще доступен на API 28 уровня.

minSdkVersion

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

Разработчики обязаны установить корректное значение и обеспечить правильную работу приложения до этого уровня API. Это называется обратной совместимостью.

Во время разработки Lint также предупредит разработчиков при попытке использовать любой API ниже указанного в minSdkVersion. Очень важно не игнорировать предупреждения и исправить их!

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

Также важно упомянуть, что Google Play Store использует это значение, чтобы определить, можно ли установить приложение на определенное устройство, сопоставив версию платформы устройства с minSdkVersion приложения.

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

Выбор «правильного» значения для проекта также является бизнес-решением, поскольку оно влияет на то, насколько большой будет аудитория приложения. Посмотрите на распределение платформ.

Например:

Приложение + compileSdkVersion = 26 + minSdkVersion = 22 и метод API xyz(), представленный в API 26 уровня, могут работать на устройстве с Android 8 Oreo (API 26 уровня).

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

targetSdkVersion

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

Не путайте его с compileSdkVersion. Последний используется только во время компиляции и делает новые API доступными для разработчиков. Первый, напротив, является частью APK (также как и minSdkVersion) и изменяет поведение среды выполнения. Это способ, которым разработчики могут контролировать прямую совместимость.

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

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

Простым примером является Runtime Permission, которое было представлено в Android 6 Marshmallow (API 23 уровня).

Приложение может быть скомпилировано с использованием API 23 уровня, но иметь целевым API 22 уровня, если оно еще не готово поддержать новую модель разрешений времени выполнения.

Таким образом, приложение может по-прежнему быть совместимым без включения нового поведения среды выполнения.

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

Теперь соединяя все это вместе, мы видим четкое отношение

minSdkVersion ≤ targetSdkVersion ≤ compileSdkVersion

Имейте в виду, что настоятельно рекомендуется выполнить компиляцию в соответствии с последним уровнем API и стараться использовать targetSdkVersion == compileSdkVersion.

Источники

  • uses-sdk-element documentation — Android Developers
  • Android Runtime — Wikipedia
  • How Android Apps are built and run — David Griffiths GitHub
  • Platform Architecture — Android Developers
  • Android RunTime (ART) and Dalvik — Android Source
  • Meet Google Play’s target API level requirement — Android Developers
  • Configure your Build — Android Developers
  • Picking your compileSdkVersion, minSdkVersion and targetSdkVersion — Ian Late Medium

Понравилась статья? Поделить с друзьями:
  • Supported api 3 как исправить на планшете
  • Support viber com ошибка при регистрации что делать
  • Support viber com ошибка при регистрации как исправить на русском языке
  • Support viber com ошибка при регистрации как исправить на андройде на русском
  • Support nintendo com switch error 2005 0003