Что такое API Level и как быстро узнать его на устройстве
API Level — это целое число, однозначно идентифицирующее набор Android API, доступный на платформе. Узнать API можно быстро: в Settings → About (версия Android) или точнее — через adb: adb shell getprop ro.build.version.sdk.
Коротко про API Level
API Level показывает, какие классы, методы и XML‑атрибуты доступны приложению. Разработчики указывают minSdkVersion и targetSdkVersion — система сравнивает их с API устройства и решает, можно ли установить и как приложение будет себя вести. Чем выше API, тем новее возможности; слишком высокий minSdkVersion блокирует установку на старых устройствах.
Как узнать свой API Level — 5 практических способов
- Через «Настройки» (быстро)
- Откройте Settings → About phone → Android version. Часто показывает только версию (например, 10); сопоставьте её с API (например, Android 10 → API 29).
- Через ADB (точно, для разработчиков)
- Подключите устройство по USB или используйте эмулятор и выполните:
adb shell getprop ro.build.version.sdk
Команда вернёт целое число — API level (например, 29). Для детальной информации можно посмотреть все свойства: adb shell getprop.
Если видите значение "1", это означает API 1 — исторический образ Android 1.0.
- В манифесте или Gradle проекта (для приложений)
- В AndroidManifest.xml или в build.gradle смотрите minSdkVersion / targetSdkVersion. Пример Gradle:
android {
defaultConfig {
minSdkVersion 21
targetSdkVersion 33
}
}
Это говорит, на каких API приложение рассчитано.
- Через Android Studio / Device Manager
- Подключите устройство в IDE — в Device Manager или в окне Run/Logcat видно версию. Можно открыть встроенный терминал и использовать adb.
- Через файлы прошивки (для продвинутых)
- На устройстве с root или в образе проверьте /system/build.prop или свойства:
adb shell cat /system/build.prop | grep ro.build.version
Обратите внимание на ro.build.version.sdk и ro.product.first_api_level.
Кастомные прошивки иногда неправильно указывают свойства. Сверяйте ro.build.version.release и ro.product.first_api_level одновременно.
API 1 — что это значит и зачем об этом знать
API 1 соответствует релизу Android 1.0 (первый коммерческий выпуск). Практически нет современных устройств или приложений, которые поддерживают API 1 — современные библиотеки требуют значительно более высоких API. Если устройство возвращает API 1, это либо старый эмулятор/образ, либо специфическая кастомная сборка.
Практический пример определения:
- Подключите устройство.
- Выполните:
adb shell getprop ro.build.version.sdk
- Вывод "1" значит API 1 — устройство использует самый ранний набор API.
Частые ошибки
- Ожидание, что «Android version» в настройках всегда равна API level — не всегда.
- Игнорирование ro.product.first_api_level при анализе кастомных прошивок.
- Установка minSdkVersion слишком высокой без учёта реальной целевой аудитории.
FAQ
-
Как соотнести версию Android и API?
— Каждой публичной версии Android соответствует свой API level (например, Android 10 → 29, Android 14 → 34). Используйте официальную таблицу соответствий при сомнениях. -
Можно ли изменить API level устройства?
— Нет — API определяется системой/прошивкой. Можно только установить другую прошивку/образ с другим API. -
Что делать, если приложение не устанавливается из‑за API?
— Проверьте minSdkVersion в сборке приложения и API устройства. Для поддержки старых устройств можно снизить minSdkVersion и добавить проверки во время выполнения, но это требует тестирования.
Короткое резюме: API Level — число, определяющее набор доступных Android API; проверить быстро в Settings, а точно — через adb getprop ro.build.version.sdk.