Manifest
AndroidManifest.xml — основной файл конфигурации в каждом Android-приложении. Он содержит важную информацию о приложении, включая его компоненты, разрешения, метаданные и настройки.
<uses-feature/>
Позволяет указать аппаратные и программные возможности, которые нужны приложению для корректной работы. Этот атрибут используется, чтобы сообщить системе и магазину приложений, какие функции требуются, например, наличие камеры, GPS, сенсоров и т.д.
<manifest>
<uses-feature
android:name="android.hardware.camera"
android:required="true"
android:version="1" />
<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />
</manifest>
name
Указывает название функции, необходимой для работы приложения.
• android.hardware.audio.low_latency
Поддержка воспроизведения аудио с низкой задержкой. Полезно для приложений реального времени, таких как игры или музыкальные инструменты.
• android.hardware.audio.output
Указывает, что устройство поддерживает вывод аудио.
• android.hardware.audio.pro
Устройство имеет профессиональные аудиовозможности, например, высокую точность записи и воспроизведения.
• android.hardware.bluetooth
Поддержка классического Bluetooth.
• android.hardware.bluetooth_le
Поддержка Bluetooth Low Energy (BLE), полезно для энергоэффективного подключения.
• android.hardware.camera
Указывает, что устройство оснащено камерой.
• android.hardware.camera.any
Поддержка любой камеры, включая переднюю и заднюю.
• android.hardware.camera.ar
Поддержка камеры, совместимой с технологиями дополненной реальности (AR).
• android.hardware.camera.autofocus
Камера устройства поддерживает автофокусировку.
• android.hardware.camera.capability.manual_post_processing
Поддержка ручной обработки изображения, например, настройки баланса белого.
• android.hardware.camera.capability.manual_sensor
Устройство поддерживает ручное управление параметрами сенсора, такими как экспозиция.
• android.hardware.camera.capability.raw
Поддержка захвата изображений в формате RAW.
• android.hardware.camera.external
Возможность работы с внешними подключаемыми камерами.
• android.hardware.camera.flash
Указывает наличие вспышки у камеры.
• android.hardware.camera.front
Наличие фронтальной камеры.
• android.hardware.camera.level.full
Указывает, что камера имеет полный набор функций, поддерживаемых на уровне API Camera2.
• android.hardware.consumerir
Поддержка инфракрасного передатчика, например, для управления бытовой техникой.
• android.hardware.ethernet
Устройство имеет порт Ethernet для проводного подключения к сети.
• android.hardware.faketouch
Указывает, что устройство поддерживает эмуляцию тачскрина.
• android.hardware.faketouch.multitouch.distinct
Поддержка мульти-тач с распознаванием отдельных точек касания.
• android.hardware.faketouch.multitouch.jazzhand
Поддержка мульти-тач с пятью и более точками касания.
• android.hardware.fingerprint
Устройство оснащено сканером отпечатков пальцев.
• android.hardware.gamepad
Поддержка подключения игровых контроллеров.
• android.hardware.location
Поддержка определения местоположения устройства.
• android.hardware.location.gps
Устройство имеет GPS-модуль для точного позиционирования.
• android.hardware.location.network
Поддержка определения местоположения с использованием сети Wi-Fi или мобильной связи.
• android.hardware.microphone
Устройство оснащено микрофоном.
• android.hardware.nfc
Поддержка технологии NFC (Near Field Communication) для бесконтактной связи.
• android.hardware.nfc.hce
Поддержка эмуляции карты NFC (Host Card Emulation).
• android.hardware.nfc.hcef
Улучшенная эмуляция карты NFC для поддержки финансовых транзакций.
• android.hardware.opengles.aep
Поддержка улучшенных графических функций OpenGL ES (Android Extension Pack).
• android.hardware.ram.low
Указывает, что устройство имеет низкий объем оперативной памяти.
• android.hardware.ram.normal
Указывает, что устройство имеет нормальный объем оперативной памяти.
• android.hardware.screen.landscape
Устройство поддерживает работу в альбомной ориентации.
• android.hardware.screen.portrait
Устройство поддерживает работу в портретной ориентации.
• android.hardware.sensor.accelerometer
Наличие акселерометра для отслеживания ускорения устройства.
• android.hardware.sensor.ambient_temperature
Датчик для измерения температуры окружающей среды.
• android.hardware.sensor.barometer
Датчик атмосферного давления для определения высоты над уровнем моря.
• android.hardware.sensor.compass
Датчик магнитного поля для работы компаса.
• android.hardware.sensor.gyroscope
Гироскоп для измерения угловых скоростей вращения устройства.
• android.hardware.sensor.heartrate
Датчик для измерения частоты сердечных сокращений.
• android.hardware.sensor.heartrate.ecg
Поддержка ЭКГ-сенсора для более точного измерения сердечной активности.
• android.hardware.sensor.hifi_sensors
Высокоточные сенсоры с увеличенной частотой обновления данных.
• android.hardware.sensor.light
Датчик освещенности для определения уровня света в окружающей среде.
• android.hardware.sensor.proximity
Датчик приближения для определения близости объекта к устройству.
• android.hardware.sensor.relative_humidity
Датчик влажности для измерения относительной влажности воздуха.
• android.hardware.sensor.stepcounter
Счетчик шагов для мониторинга физической активности.
• android.hardware.sensor.stepdetector
Датчик для определения момента совершения шага.
• android.hardware.strongbox_keystore
Поддержка StrongBox для безопасного хранения ключей шифрования.
• android.hardware.telephony
Поддержка телефонных функций (звонки и SMS).
• android.hardware.telephony.cdma
Поддержка сети CDMA.
• android.hardware.telephony.euicc
Поддержка eUICC (встроенная SIM-карта).
• android.hardware.telephony.gsm
Поддержка сети GSM.
• android.hardware.telephony.mbms
Поддержка мультимедийных служб (MBMS) через сеть мобильной связи.
• android.hardware.touchscreen
Наличие сенсорного экрана.
• android.hardware.touchscreen.multitouch
Поддержка мультитач ввода.
• android.hardware.touchscreen.multitouch.distinct
Мультитач с возможностью различать отдельные точки касания.
• android.hardware.touchscreen.multitouch.jazzhand
Поддержка мультитач ввода с пятью и более точками касания.
• android.hardware.type.automotive
Устройство классифицируется как автомобильная система.
• android.hardware.type.embedded
Устройство классифицируется как встроенная система.
• android.hardware.type.pc
Устройство классифицируется как ПК.
• android.hardware.type.television
Устройство классифицируется как телевизор.
• android.hardware.type.watch
Устройство классифицируется как умные часы.
• android.hardware.usb.accessory
Поддержка работы устройства в режиме USB-аксессуара.
• android.hardware.usb.host
Поддержка работы устройства в режиме USB-хоста.
• android.hardware.vr.headtracking
Поддержка отслеживания головы для VR.
• android.hardware.vr.high_performance
Высокопроизводительное устройство для VR.
• android.hardware.vulkan.compute
Поддержка вычислительных возможностей Vulkan.
• android.hardware.vulkan.level
Уровень поддержки Vulkan API.
• android.hardware.vulkan.version
Версия Vulkan API, поддерживаемая устройством.
• android.hardware.wifi
Поддержка Wi-Fi подключения.
• android.hardware.wifi.aware
Поддержка Wi-Fi Aware для прямого соединения между устройствами.
• android.hardware.wifi.direct
Поддержка Wi-Fi Direct для P2P соединения.
• android.hardware.wifi.passpoint
Поддержка автоматического подключения к сертифицированным Wi-Fi-сетям.
• android.hardware.wifi.rtt
Поддержка технологии измерения расстояния Wi-Fi RTT (Round Trip Time).
• android.software.activities_on_secondary_displays
Поддержка активности на дополнительных экранах.
• android.software.app_widgets
Поддержка виджетов приложений.
• android.software.autofill
Поддержка автозаполнения.
• android.software.backup
Поддержка резервного копирования данных приложений.
• android.software.cant_save_state
Указывает, что приложение не сохраняет состояние из-за больших объемов данных или других ограничений.
• android.software.companion_device_setup
Поддержка настройки сопряженных устройств, таких как умные часы или фитнес-трекеры.
• android.software.connectionservice
Поддержка API для реализации службы связи (например, для VoIP).
• android.software.device_admin
Указывает, что устройство поддерживает функции администратора устройства.
• android.software.freeform_window_management
Поддержка свободного изменения размеров окон приложений.
• android.software.home_screen
Поддержка работы приложения в качестве домашнего экрана (лаунчера).
• android.software.input_methods
Устройство поддерживает пользовательские методы ввода (например, сторонние клавиатуры).
• android.software.leanback
Указывает поддержку интерфейса Leanback для телевизоров и Android TV.
• android.software.leanback_only
Указывает, что устройство предназначено только для работы в интерфейсе Leanback.
• android.software.live_tv
Поддержка функций потокового телевидения через Android TV.
• android.software.live_wallpaper
Устройство поддерживает живые обои.
• android.software.managed_users
Поддержка управления пользователями (например, профили рабочих или гостей).
• android.software.midi
Поддержка MIDI для музыкального оборудования.
• android.software.picture_in_picture
Поддержка режима "картинка в картинке" для отображения видео поверх других приложений.
• android.software.print
Поддержка функций печати через приложения.
• android.software.securely_removes_users
Поддержка безопасного удаления данных при удалении пользователя.
• android.software.sip
Поддержка SIP (Session Initiation Protocol) для связи через Интернет.
• android.software.sip.voip
Поддержка SIP для VoIP-звонков.
• android.software.verified_boot
Поддержка Verified Boot для проверки целостности загрузки устройства.
• android.software.vr.mode
Поддержка работы в режиме виртуальной реальности (VR).
• android.software.webview
Устройство поддерживает WebView для отображения веб-контента внутри приложений.
glEsVersion
Указывает минимальную версию OpenGL ES, требуемую приложением. Это важно для приложений, которые нуждаются в графических возможностях. Версия указывается в формате шестнадцатеричного числа, где старшие 16 бит представляют основную версию, а младшие 16 бит — подверсию. Например, 0x00020000 соответствует OpenGL ES 2.0.
required
Определяет, является ли эта функция обязательной (true
) или необязательной (false
) для работы приложения. Если true
, приложение не будет доступно в Google Play для устройств, у которых отсутствует эта функция. Если false
, приложение можно будет установить даже на устройства без этой функции, но функциональность, требующая её, может быть недоступна.
version
Указывает минимальную версию указанной функции, требуемую приложением. Этот атрибут редко используется, так как большинство аппаратных функций не имеют версий.
<uses-permission/>
Используется для запроса разрешений, которые нужны приложению для доступа к защищенным ресурсам или функциям устройства (например, камера, местоположение, интернет и т.д.). Без указания этих разрешений в манифесте приложение не сможет пользоваться соответствующими функциями, начиная с уровня API 23 (Android 6.0), когда была введена система runtime permissions.
<manifest>
<uses-permission
android:name="android.permission.BLUETOOTH_SCAN"
android:minSdkVersion="31"
android:maxSdkVersion="33"
android:requiredFeature="android.hardware.bluetooth"
android:requiredNotFeature="android.hardware.telephony"
android:usesPermissionFlags="neverForLocation" />
</manifest>
name
Основной и обязательный атрибут, указывающий имя разрешения, которое требуется приложению. Имя разрешения часто начинается с префикса android.permission
.
• android.permission.ACCEPT_HANDOVER
Разрешает передавать активные звонки или данные между приложениями.
• android.permission.ACCESS_BACKGROUND_LOCATION
Дает доступ к местоположению устройства в фоновом режиме.
• android.permission.ACCESS_BLOBS_ACROSS_USERS
Разрешает доступ к данным между несколькими пользователями.
• android.permission.ACCESS_CHECKIN_PROPERTIES
Предназначено для системного использования для проверки данных устройства.
• android.permission.ACCESS_COARSE_LOCATION
Дает доступ к приблизительному местоположению устройства.
• android.permission.ACCESS_FINE_LOCATION
Дает доступ к точному местоположению устройства.
• android.permission.ACCESS_HIDDEN_PROFILES
Разрешает доступ к скрытым профилям устройства.
• android.permission.ACCESS_LOCATION_EXTRA_COMMANDS
Дает доступ к дополнительным командам для управления GPS.
• android.permission.ACCESS_MEDIA_LOCATION
Позволяет приложениям доступ к местоположению мультимедийных файлов.
• android.permission.ACCESS_NETWORK_STATE
Дает доступ к информации о состоянии сетей (Wi-Fi, мобильные данные).
• android.permission.ACCESS_NOTIFICATION_POLICY
Позволяет управлять настройками уведомлений.
• android.permission.ACCESS_WIFI_STATE
Дает доступ к информации о состоянии Wi-Fi.
• android.permission.ACCOUNT_MANAGER
Разрешает доступ к функциям управления учетными записями.
• android.permission.ACTIVITY_RECOGNITION
Дает доступ к данным для распознавания активности пользователя (ходьба, бег).
• android.permission.ADD_VOICEMAIL
Позволяет приложениям добавлять голосовые сообщения в систему.
• android.permission.ANSWER_PHONE_CALLS
Разрешает отвечать на входящие звонки.
• android.permission.BATTERY_STATS
Дает доступ к данным о состоянии батареи.
• android.permission.BIND_ACCESSIBILITY_SERVICE
Позволяет приложению связываться с сервисом доступности.
• android.permission.BIND_APPWIDGET
Дает доступ к созданию и управлению виджетами.
• android.permission.BIND_AUTOFILL_SERVICE
Разрешает привязку сервиса автозаполнения данных.
• android.permission.BIND_CALL_REDIRECTION_SERVICE
Дает возможность приложению перенаправлять вызовы.
• android.permission.BIND_CARRIER_MESSAGING_CLIENT_SERVICE
Предоставляет доступ к сервису обмена сообщениями оператора.
• android.permission.BIND_CARRIER_SERVICES
Дает доступ к функциям операторов связи.
• android.permission.BIND_COMPANION_DEVICE_SERVICE
Позволяет приложению связываться с устройствами-компаньонами.
• android.permission.BIND_CONDITION_PROVIDER_SERVICE
Предоставляет доступ к сервису провайдера условий (например, уведомлений).
• android.permission.BIND_CONTROLS
Позволяет приложению связываться с сервисами управления устройством.
• android.permission.BIND_CREDENTIAL_PROVIDER_SERVICE
Дает доступ к сервису управления учетными данными.
• android.permission.BIND_DEVICE_ADMIN
Позволяет приложению работать как администратор устройства.
• android.permission.BIND_DREAM_SERVICE
Дает доступ к настройке заставок (Daydream).
• android.permission.BIND_INCALL_SERVICE
Разрешает приложению управлять телефонными вызовами.
• android.permission.BIND_INPUT_METHOD
Позволяет привязывать пользовательские методы ввода.
• android.permission.BIND_MIDI_DEVICE_SERVICE
Дает доступ к привязке MIDI-устройств.
• android.permission.BIND_NFC_SERVICE
Позволяет связываться с сервисами NFC.
• android.permission.BIND_NOTIFICATION_LISTENER_SERVICE
Разрешает приложению получать доступ к уведомлениям.
• android.permission.BIND_PRINT_SERVICE
Дает доступ к настройке сервисов печати.
• android.permission.BIND_QUICK_ACCESS_WALLET_SERVICE
Позволяет привязку сервисов для быстрого доступа к кошельку.
• android.permission.BIND_QUICK_SETTINGS_TILE
Дает доступ к настройке плиток быстрых настроек.
• android.permission.BIND_REMOTEVIEWS
Позволяет привязку удаленных представлений.
• android.permission.BIND_SCREENING_SERVICE
Разрешает приложение фильтровать телефонные звонки.
• android.permission.BIND_TELECOM_CONNECTION_SERVICE
Дает доступ к настройке сервисов телефонной связи.
• android.permission.BIND_TEXT_SERVICE
Позволяет связываться с сервисами обработки текста.
• android.permission.BIND_TV_INPUT
Дает доступ к привязке источников ТВ-сигнала.
• android.permission.BIND_TV_INTERACTIVE_APP
Разрешает привязку интерактивных ТВ-приложений.
• android.permission.BIND_VISUAL_VOICEMAIL_SERVICE
Дает доступ к настройке сервисов визуальной голосовой почты.
• android.permission.BIND_VOICE_INTERACTION
Позволяет приложению привязываться к сервису голосового взаимодействия.
• android.permission.BIND_VPN_SERVICE
Разрешает привязывать приложение к сервису VPN.
• android.permission.BIND_VR_LISTENER_SERVICE
Дает возможность приложениям привязываться к сервису VR-слушателя.
• android.permission.BIND_WALLPAPER
Позволяет привязываться к сервису управления обоями.
• android.permission.BLUETOOTH
Дает доступ к использованию Bluetooth.
• android.permission.BLUETOOTH_ADMIN
Разрешает управлять настройками Bluetooth (например, включать/выключать).
• android.permission.BLUETOOTH_ADVERTISE
Позволяет устройству передавать информацию по Bluetooth.
• android.permission.BLUETOOTH_CONNECT
Дает возможность подключаться к другим Bluetooth-устройствам.
• android.permission.BLUETOOTH_PRIVILEGED
Разрешает использовать привилегированные функции Bluetooth.
• android.permission.BLUETOOTH_SCAN
Позволяет сканировать устройства Bluetooth поблизости.
• android.permission.BODY_SENSORS
Дает доступ к датчикам тела, например, датчику сердечного ритма.
• android.permission.BODY_SENSORS_BACKGROUND
Дает доступ к сенсорам тела в фоновом режиме.
• android.permission.BROADCAST_PACKAGE_REMOVED
Разрешает отправлять широковещательные уведомления при удалении пакетов.
• android.permission.BROADCAST_SMS
Дает возможность отправлять широковещательные уведомления о получении SMS.
• android.permission.BROADCAST_STICKY
Позволяет отправлять и получать "липкие" широковещательные уведомления.
• android.permission.BROADCAST_WAP_PUSH
Разрешает отправлять уведомления о получении WAP-сообщений.
• android.permission.CALL_COMPANION_APP
Дает возможность Companion App управлять звонками.
• android.permission.CALL_PHONE
Разрешает звонки без использования интерфейса телефона.
• android.permission.CALL_PRIVILEGED
Дает доступ к привилегированным функциям вызовов.
• android.permission.CAMERA
Дает доступ к камере устройства.
• android.permission.CAPTURE_AUDIO_OUTPUT
Позволяет записывать аудио с выхода устройства.
• android.permission.CHANGE_COMPONENT_ENABLED_STATE
Дает возможность изменять состояние компонентов (включать/выключать).
• android.permission.CHANGE_CONFIGURATION
Разрешает изменять конфигурацию устройства.
• android.permission.CHANGE_NETWORK_STATE
Дает доступ к изменению состояния сетевых подключений.
• android.permission.CHANGE_WIFI_MULTICAST_STATE
Позволяет изменять состояние мультикаста Wi-Fi.
• android.permission.CHANGE_WIFI_STATE
Дает возможность изменять состояние Wi-Fi.
• android.permission.CLEAR_APP_CACHE
Разрешает очищать кеш приложений.
• android.permission.CONFIGURE_WIFI_DISPLAY
Позволяет настраивать Wi-Fi дисплеи.
• android.permission.CONTROL_LOCATION_UPDATES
Дает доступ к управлению обновлениями местоположения.
• android.permission.CREDENTIAL_MANAGER_QUERY_CANDIDATE_CREDENTIALS
Позволяет запрашивать учетные данные через Credential Manager.
• android.permission.CREDENTIAL_MANAGER_SET_ALLOWED_PROVIDERS
Разрешает устанавливать разрешенные провайдеры для Credential Manager.
• android.permission.CREDENTIAL_MANAGER_SET_ORIGIN
Дает возможность устанавливать источник учетных данных в Credential Manager.
• android.permission.DELETE_CACHE_FILES
Дает возможность удалять файлы кеша.
• android.permission.DELETE_PACKAGES
Разрешает удалять пакеты приложений.
• android.software.cant_save_state
Указывает, что приложение не может сохранять свое состояние из-за ограничений системы или больших объемов данных.
• android.software.companion_device_setup
Поддержка настройки сопряженных устройств, таких как умные часы или фитнес-трекеры.
• android.software.connectionservice
Поддержка API для работы с сервисами связи (например, VoIP).
• android.software.device_admin
Указывает, что устройство поддерживает функции администратора.
• android.software.freeform_window_management
Поддержка оконного режима с возможностью изменения размеров окон приложений.
• android.software.home_screen
Позволяет приложению быть лаунчером (домашним экраном).
• android.software.input_methods
Поддержка пользовательских методов ввода, таких как сторонние клавиатуры.
• android.software.leanback
Поддержка интерфейса Leanback для устройств Android TV.
• android.software.leanback_only
Указывает, что устройство работает только в интерфейсе Leanback (например, ТВ).
• android.software.live_tv
Поддержка приложений для потокового телевидения на Android TV.
• android.software.live_wallpaper
Поддержка живых обоев для экрана.
• android.software.managed_users
Возможность управления пользователями устройства, например, создание рабочих профилей.
• android.software.midi
Поддержка MIDI-интерфейсов для музыкального оборудования.
• android.software.picture_in_picture
Поддержка режима "картинка в картинке" для отображения видео поверх других приложений.
• android.software.print
Поддержка функций печати с устройства.
• android.software.securely_removes_users
Обеспечивает безопасное удаление данных при удалении пользователей.
• android.software.sip
Поддержка SIP (Session Initiation Protocol) для голосовой связи через Интернет.
• android.software.sip.voip
Позволяет использовать SIP для VoIP-звонков.
• android.software.verified_boot
Поддержка Verified Boot для проверки целостности устройства при загрузке.
• android.software.vr.mode
Поддержка режима виртуальной реальности (VR).
• android.software.webview
Устройство поддерживает встроенный WebView для отображения веб-страниц в приложениях.
• android.permission.DELIVER_COMPANION_MESSAGES
Позволяет передавать сообщения на сопряженные устройства.
• android.permission.DETECT_SCREEN_CAPTURE
Дает возможность определять, когда экран устройства был захвачен.
• android.permission.DETECT_SCREEN_RECORDING
Позволяет обнаруживать, когда экран записывается.
• android.permission.DIAGNOSTIC
Предоставляет доступ к диагностическим инструментам устройства.
• android.permission.DISABLE_KEYGUARD
Разрешает отключать экран блокировки.
• android.permission.DUMP
Дает возможность приложениям получать дампы системной информации.
• android.permission.ENFORCE_UPDATE_OWNERSHIP
Разрешает управление правами обновлений устройства.
• android.permission.EXECUTE_APP_ACTION
Позволяет выполнять предопределенные действия в приложениях.
• android.permission.EXPAND_STATUS_BAR
Дает возможность раскрывать/сворачивать панель состояния.
• android.permission.FACTORY_TEST
Предоставляет права для проведения тестов на производственном уровне.
• android.permission.FOREGROUND_SERVICE
Разрешает запускать фоновые сервисы с высоким приоритетом.
• android.permission.FOREGROUND_SERVICE_CAMERA
Позволяет сервисам использовать камеру.
• android.permission.FOREGROUND_SERVICE_CONNECTED_DEVICE
Дает доступ к управлению сопряженными устройствами.
• android.permission.FOREGROUND_SERVICE_DATA_SYNC
Разрешает синхронизацию данных через фоновый сервис.
• android.permission.FOREGROUND_SERVICE_HEALTH
Дает доступ к данным о здоровье через фоновый сервис.
• android.permission.FOREGROUND_SERVICE_LOCATION
Позволяет сервисам отслеживать местоположение.
• android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK
Дает возможность воспроизводить медиа через сервис.
• android.permission.FOREGROUND_SERVICE_MEDIA_PROCESSING
Разрешает обработку медиа через сервисы.
• android.permission.FOREGROUND_SERVICE_MEDIA_PROJECTION
Позволяет использовать медиа-проекцию (захват экрана).
• android.permission.FOREGROUND_SERVICE_MICROPHONE
Дает возможность сервисам использовать микрофон.
• android.permission.FOREGROUND_SERVICE_PHONE_CALL
Разрешает сервисам управлять телефонными вызовами.
• android.permission.FOREGROUND_SERVICE_REMOTE_MESSAGING
Поддержка фонового обмена сообщениями.
• android.permission.FOREGROUND_SERVICE_SPECIAL_USE
Разрешает специальные случаи использования сервисов.
• android.permission.FOREGROUND_SERVICE_SYSTEM_EXEMPTED
Системное исключение для фоновых сервисов.
• android.permission.GET_ACCOUNTS
Дает доступ к учетным записям, зарегистрированным на устройстве.
• android.permission.GET_ACCOUNTS_PRIVILEGED
Привилегированный доступ к учетным записям устройства.
• android.permission.GET_PACKAGE_SIZE
Позволяет узнать размер установленных приложений.
• android.permission.GLOBAL_SEARCH
Дает возможность участвовать в глобальном поиске устройства.
• android.permission.HIDE_OVERLAY_WINDOWS
Позволяет скрывать наложенные окна.
• android.permission.HIGH_SAMPLING_RATE_SENSORS
Разрешает доступ к сенсорам с высокой частотой обновления.
• android.permission.INSTALL_LOCATION_PROVIDER
Разрешает установку дополнительных поставщиков местоположения.
• android.permission.INSTALL_PACKAGES
Позволяет устанавливать новые пакеты приложений.
• android.permission.INSTALL_SHORTCUT
Разрешает создание ярлыков на домашнем экране.
• android.permission.INSTANT_APP_FOREGROUND_SERVICE
Поддержка фоновых сервисов для мгновенных приложений.
• android.permission.INTERACT_ACROSS_PROFILES
Позволяет взаимодействовать между профилями пользователя.
• android.permission.INTERNET
Дает доступ к сетям передачи данных.
• android.permission.KILL_BACKGROUND_PROCESSES
Разрешает завершать фоновые процессы других приложений.
• android.permission.LAUNCH_CAPTURE_CONTENT_ACTIVITY_FOR_NOTE
Позволяет запускать активности для захвата содержимого (например, для заметок).
• android.permission.LAUNCH_MULTI_PANE_SETTINGS_DEEP_LINK
Поддержка открытия настроек с несколькими панелями.
• android.permission.LOADER_USAGE_STATS
Дает доступ к статистике использования устройства.
• android.permission.LOCATION_HARDWARE
Дает доступ к аппаратным функциям определения местоположения.
• android.permission.MANAGE_DEVICE_LOCK_STATE
Позволяет управлять состоянием блокировки устройства.
• android.permission.MANAGE_DEVICE_POLICY_ACCESSIBILITY
Разрешает управление политиками доступности.
• android.permission.MANAGE_DEVICE_POLICY_ACCOUNT_MANAGEMENT
Позволяет управлять учетными записями через политики устройства.
• android.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS
Дает доступ к управлению политиками на нескольких профилях пользователя.
• android.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL
Полный доступ к политике управления несколькими пользователями.
• android.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_SECURITY_CRITICAL
Управление политиками безопасности для нескольких пользователей.
• android.permission.MANAGE_DEVICE_POLICY_AIRPLANE_MODE
Разрешает управление режимом полета.
• android.permission.MANAGE_DEVICE_POLICY_APP_RESTRICTIONS
Позволяет устанавливать ограничения для приложений.
• android.permission.MANAGE_DEVICE_POLICY_APP_USER_DATA
Разрешает управление пользовательскими данными приложений.
• android.permission.MANAGE_DEVICE_POLICY_APPS_CONTROL
Дает контроль над установленными приложениями.
• android.permission.MANAGE_DEVICE_POLICY_ASSIST_CONTENT
Управление контентом, предоставляемым ассистентами.
• android.permission.MANAGE_DEVICE_POLICY_AUDIO_OUTPUT
Позволяет управлять аудиовыходом устройства.
• android.permission.MANAGE_DEVICE_POLICY_AUTOFILL
Управление автозаполнением данных.
• android.permission.MANAGE_DEVICE_POLICY_BACKUP_SERVICE
Позволяет управлять политиками резервного копирования.
• android.permission.MANAGE_DEVICE_POLICY_BLOCK_UNINSTALL
Дает возможность блокировать удаление приложений.
• android.permission.MANAGE_DEVICE_POLICY_BLUETOOTH
Управление настройками Bluetooth.
• android.permission.MANAGE_DEVICE_POLICY_BUGREPORT
Позволяет управлять созданием отчетов о сбоях.
• android.permission.MANAGE_DEVICE_POLICY_CALLS
Дает контроль над функциями вызовов.
• android.permission.MANAGE_DEVICE_POLICY_CAMERA
Управление настройками камеры.
• android.permission.MANAGE_DEVICE_POLICY_CAMERA_TOGGLE
Разрешает включать/выключать доступ к камере.
• android.permission.MANAGE_DEVICE_POLICY_CERTIFICATES
Управление сертификатами устройства.
• android.permission.MANAGE_DEVICE_POLICY_COMMON_CRITERIA_MODE
Позволяет включать режим соответствия общим критериям безопасности.
• android.permission.MANAGE_DEVICE_POLICY_CONTENT_PROTECTION
Управление защитой контента на устройстве.
• android.permission.MANAGE_DEVICE_POLICY_DEBUGGING_FEATURES
Управление настройками отладки.
• android.permission.MANAGE_DEVICE_POLICY_DEFAULT_SMS
Позволяет задавать приложение по умолчанию для отправки SMS.
• android.permission.MANAGE_DEVICE_POLICY_DEVICE_IDENTIFIERS
Управление идентификаторами устройства.
• android.permission.MANAGE_DEVICE_POLICY_DISPLAY
Управление настройками дисплея.
• android.permission.MANAGE_DEVICE_POLICY_FACTORY_RESET
Позволяет инициировать сброс устройства до заводских настроек.
• android.permission.MANAGE_DEVICE_POLICY_FUN
Управление функциями развлечений.
• android.permission.MANAGE_DEVICE_POLICY_INPUT_METHODS
Управление пользовательскими методами ввода.
• android.permission.MANAGE_DEVICE_POLICY_INSTALL_UNKNOWN_SOURCES
Управление разрешением установки приложений из неизвестных источников.
• android.permission.MANAGE_DEVICE_POLICY_KEEP_UNINSTALLED_PACKAGES
Управление сохранением данных удаленных приложений.
• android.permission.MANAGE_DEVICE_POLICY_KEYGUARD
Управление настройками экрана блокировки.
• android.permission.MANAGE_DEVICE_POLICY_LOCALE
Разрешает изменять языковые настройки устройства.
• android.permission.MANAGE_DEVICE_POLICY_LOCATION
Управление доступом к функциям местоположения.
• android.permission.MANAGE_DEVICE_POLICY_LOCK
Контроль состояния блокировки устройства.
• android.permission.MANAGE_DEVICE_POLICY_LOCK_CREDENTIALS
Управление настройками аутентификации на устройстве.
• android.permission.MANAGE_DEVICE_POLICY_LOCK_TASK
Управление режимом закрепления задач.
• android.permission.MANAGE_DEVICE_POLICY_MANAGED_SUBSCRIPTIONS
Управление подписками, связанными с устройством.
• android.permission.MANAGE_DEVICE_POLICY_METERED_DATA
Контроль использования данных в тарифах с ограничением.
• android.permission.MANAGE_DEVICE_POLICY_MICROPHONE
Управление доступом к микрофону.
• android.permission.MANAGE_DEVICE_POLICY_MICROPHONE_TOGGLE
Позволяет включать/выключать микрофон.
• android.permission.MANAGE_DEVICE_POLICY_MOBILE_NETWORK
Управление настройками мобильной сети.
• android.permission.MANAGE_DEVICE_POLICY_MODIFY_USERS
Контроль создания, удаления и изменения профилей пользователей.
• android.permission.MANAGE_DEVICE_POLICY_MTE
Управление функцией Memory Tagging Extension (MTE).
• android.permission.MANAGE_DEVICE_POLICY_NEARBY_COMMUNICATION
Разрешает управлять функциями связи с близлежащими устройствами.
• android.permission.MANAGE_DEVICE_POLICY_NETWORK_LOGGING
Управление журналированием сетевой активности.
• android.permission.MANAGE_DEVICE_POLICY_ORGANIZATION_IDENTITY
Управление идентификацией организации на устройстве.
• android.permission.MANAGE_DEVICE_POLICY_OVERRIDE_APN
Позволяет изменять настройки точек доступа (APN).
• android.permission.MANAGE_DEVICE_POLICY_PACKAGE_STATE
Контроль состояния пакетов приложений.
• android.permission.MANAGE_DEVICE_POLICY_PHYSICAL_MEDIA
Управление доступом к физическим носителям.
• android.permission.MANAGE_DEVICE_POLICY_PRINTING
Контроль функций печати на устройстве.
• android.permission.MANAGE_DEVICE_POLICY_PRIVATE_DNS
Управление настройками приватного DNS.
• android.permission.MANAGE_DEVICE_POLICY_PROFILE_INTERACTION
Управление взаимодействием между профилями.
• android.permission.MANAGE_DEVICE_POLICY_PROFILES
Контроль настроек профилей пользователей.
• android.permission.MANAGE_DEVICE_POLICY_PROXY
Управление прокси-серверами на устройстве.
• android.permission.MANAGE_DEVICE_POLICY_QUERY_SYSTEM_UPDATES
Контроль запроса обновлений системы.
• android.permission.MANAGE_DEVICE_POLICY_RESET_PASSWORD
Разрешает сброс пароля устройства.
• android.permission.MANAGE_DEVICE_POLICY_RESTRICT_PRIVATE_DNS
Управление ограничениями для приватного DNS.
• android.permission.MANAGE_DEVICE_POLICY_RUN_IN_BACKGROUND
Управление фоновыми процессами.
• android.permission.MANAGE_DEVICE_POLICY_RUNTIME_PERMISSIONS
Контроль разрешений, запрашиваемых в режиме выполнения.
• android.permission.MANAGE_DEVICE_POLICY_SAFE_BOOT
Управление функцией безопасной загрузки.
• android.permission.MANAGE_DEVICE_POLICY_SCREEN_CAPTURE
Контроль функции захвата экрана.
• android.permission.MANAGE_DEVICE_POLICY_SCREEN_CONTENT
Управление содержимым экрана.
• android.permission.MANAGE_DEVICE_POLICY_SECURITY_LOGGING
Контроль журналирования событий безопасности.
• android.permission.MANAGE_DEVICE_POLICY_SETTINGS
Управление системными настройками устройства.
• android.permission.MANAGE_DEVICE_POLICY_SMS
Контроль отправки и получения SMS.
• android.permission.MANAGE_DEVICE_POLICY_STATUS_BAR
Управление состоянием панели уведомлений.
• android.permission.MANAGE_DEVICE_POLICY_SUPPORT_MESSAGE
Разрешает управление системными сообщениями поддержки.
• android.permission.MANAGE_DEVICE_POLICY_SUSPEND_PERSONAL_APPS
Позволяет приостанавливать работу персональных приложений.
• android.permission.MANAGE_DEVICE_POLICY_SYSTEM_APPS
Управление системными приложениями на устройстве.
• android.permission.MANAGE_DEVICE_POLICY_SYSTEM_DIALOGS
Контроль над системными диалогами.
• android.permission.MANAGE_DEVICE_POLICY_SYSTEM_UPDATES
Управление обновлениями системы.
• android.permission.MANAGE_DEVICE_POLICY_TIME
Позволяет изменять время и часовой пояс на устройстве.
• android.permission.MANAGE_DEVICE_POLICY_USB_DATA_SIGNALLING
Управление функцией USB Data Signalling.
• android.permission.MANAGE_DEVICE_POLICY_USB_FILE_TRANSFER
Контроль передачи файлов через USB.
• android.permission.MANAGE_DEVICE_POLICY_USERS
Управление пользователями устройства.
• android.permission.MANAGE_DEVICE_POLICY_VPN
Управление VPN-соединениями.
• android.permission.MANAGE_DEVICE_POLICY_WALLPAPER
Контроль обоев устройства.
• android.permission.MANAGE_DEVICE_POLICY_WIFI
Управление настройками Wi-Fi.
• android.permission.MANAGE_DEVICE_POLICY_WINDOWS
Управление окнами и их поведением.
• android.permission.MANAGE_DEVICE_POLICY_WIPE_DATA
Позволяет удалять данные с устройства.
• android.permission.MANAGE_DOCUMENTS
Дает доступ к документам через системный провайдер.
• android.permission.MANAGE_EXTERNAL_STORAGE
Полный доступ к управлению внешним хранилищем.
• android.permission.MANAGE_MEDIA
Управление мультимедиа файлами.
• android.permission.MANAGE_ONGOING_CALLS
Контроль активных телефонных вызовов.
• android.permission.MANAGE_OWN_CALLS
Управление телефонными вызовами приложения.
• android.permission.MANAGE_WIFI_INTERFACES
Контроль интерфейсов Wi-Fi.
• android.permission.MANAGE_WIFI_NETWORK_SELECTION
Управление выбором Wi-Fi сетей.
• android.permission.MASTER_CLEAR
Позволяет полностью очистить данные устройства.
• android.permission.MEDIA_CONTENT_CONTROL
Управление воспроизведением мультимедиа.
• android.permission.MEDIA_ROUTING_CONTROL
Контроль маршрутизации медиа-контента.
• android.permission.MODIFY_AUDIO_SETTINGS
Управление настройками аудио.
• android.permission.MODIFY_PHONE_STATE
Контроль состояния телефона.
• android.permission.MOUNT_FORMAT_FILESYSTEMS
Разрешает форматирование файловых систем.
• android.permission.MOUNT_UNMOUNT_FILESYSTEMS
Управление монтированием и размонтированием файловых систем.
• android.permission.NEARBY_WIFI_DEVICES
Разрешает работу с близлежащими Wi-Fi устройствами.
• android.permission.NFC
Доступ к функции NFC для передачи данных.
• android.permission.NFC_PREFERRED_PAYMENT_INFO
Управление предпочтениями NFC-оплаты.
• android.permission.NFC_TRANSACTION_EVENT
Разрешение на обработку событий NFC-транзакций.
• android.permission.OVERRIDE_WIFI_CONFIG
Управление и изменение конфигурации Wi-Fi.
• android.permission.PACKAGE_USAGE_STATS
Доступ к статистике использования приложений.
• android.permission.POST_NOTIFICATIONS
Разрешение на отображение уведомлений.
• android.permission.PROVIDE_OWN_AUTOFILL_SUGGESTIONS
Разрешает предоставлять собственные предложения для автозаполнения.
• android.permission.PROVIDE_REMOTE_CREDENTIALS
Доступ к удаленным учетным данным.
• android.permission.QUERY_ALL_PACKAGES
Разрешает проверку информации обо всех установленных приложениях.
• android.permission.READ_ASSISTANT_APP_SEARCH_DATA
Доступ к данным поиска, используемым приложениями-ассистентами.
• android.permission.READ_BASIC_PHONE_STATE
Дает доступ к базовой информации о состоянии телефона, такой как уровень сигнала и тип сети.
• android.permission.READ_CALENDAR
Разрешает чтение данных из календаря пользователя.
• android.permission.READ_CALL_LOG
Дает доступ к журналу вызовов устройства.
• android.permission.READ_CONTACTS
Разрешает чтение данных контактов пользователя.
• android.permission.READ_DROPBOX_DATA
Позволяет приложениям читать данные из DropBox (системный сервис Android).
• android.permission.READ_EXTERNAL_STORAGE
Дает доступ к чтению данных из внешнего хранилища.
• android.permission.READ_HOME_APP_SEARCH_DATA
Доступ к данным поиска приложений домашнего экрана.
• android.permission.READ_LOGS
Разрешает чтение системных логов устройства.
• android.permission.READ_MEDIA_AUDIO
Дает доступ к аудиофайлам в мультимедийном хранилище.
• android.permission.READ_MEDIA_IMAGES
Дает доступ к изображениям в мультимедийном хранилище.
• android.permission.READ_MEDIA_VIDEO
Дает доступ к видеофайлам в мультимедийном хранилище.
• android.permission.READ_MEDIA_VISUAL_USER_SELECTED
Доступ к мультимедиа, выбранным пользователем.
• android.permission.READ_NEARBY_STREAMING_POLICY
Разрешает доступ к политике потоковой передачи на близлежащие устройства.
• android.permission.READ_PHONE_NUMBERS
Дает доступ к чтению номеров телефонов, сохраненных на устройстве.
• android.permission.READ_PHONE_STATE
Дает доступ к информации о состоянии телефона, такой как ID устройства и состояние звонков.
• android.permission.READ_PRECISE_PHONE_STATE
Дает более детальную информацию о состоянии телефона, включая типы подключения.
• android.permission.READ_SMS
Разрешает чтение SMS-сообщений.
• android.permission.READ_SYNC_SETTINGS
Дает доступ к настройкам синхронизации аккаунтов.
• android.permission.READ_SYNC_STATS
Позволяет приложениям читать статистику синхронизации аккаунтов.
• android.permission.READ_VOICEMAIL
Разрешает доступ к данным голосовой почты.
• android.permission.REBOOT
Дает возможность перезагрузить устройство.
• android.permission.RECEIVE_BOOT_COMPLETED
Дает доступ к выполнению кода после завершения загрузки устройства.
• android.permission.RECEIVE_MMS
Разрешает прием MMS-сообщений.
• android.permission.RECEIVE_SMS
Дает доступ к обработке входящих SMS.
• android.permission.RECEIVE_WAP_PUSH
Позволяет обрабатывать WAP PUSH-сообщения.
• android.permission.RECORD_AUDIO
Разрешает запись аудио через микрофон устройства.
• android.permission.REORDER_TASKS
Позволяет приложениям менять порядок задач в списке задач.
• android.permission.REQUEST_COMPANION_PROFILE_APP_STREAMING
Дает возможность сопряжения с профилем для потоковой передачи приложений.
• android.permission.REQUEST_COMPANION_PROFILE_AUTOMOTIVE_PROJECTION
Разрешает сопряжение для работы с автомобильными системами.
• android.permission.REQUEST_COMPANION_PROFILE_COMPUTER
Позволяет сопряжение с компьютерами.
• android.permission.REQUEST_COMPANION_PROFILE_GLASSES
Разрешает сопряжение с умными очками.
• android.permission.REQUEST_COMPANION_PROFILE_NEARBY_DEVICE_STREAMING
Сопряжение с устройствами для потоковой передачи данных поблизости.
• android.permission.REQUEST_COMPANION_PROFILE_WATCH
Позволяет сопрягаться с профилем умных часов.
• android.permission.REQUEST_COMPANION_RUN_IN_BACKGROUND
Разрешает устройству-компаньону работать в фоновом режиме.
• android.permission.REQUEST_COMPANION_SELF_MANAGED
Позволяет приложениям-компаньонам управлять собой.
• android.permission.REQUEST_COMPANION_START_FOREGROUND_SERVICES_FROM_BACKGROUND
Разрешает запускать foreground-сервисы из фонового режима.
• android.permission.REQUEST_COMPANION_USE_DATA_IN_BACKGROUND
Дает возможность использовать данные в фоновом режиме.
• android.permission.REQUEST_DELETE_PACKAGES
Разрешает запрос на удаление установленных пакетов.
• android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS
Позволяет приложению игнорировать оптимизации батареи.
• android.permission.REQUEST_INSTALL_PACKAGES
Разрешает установку пакетов приложений.
• android.permission.REQUEST_OBSERVE_COMPANION_DEVICE_PRESENCE
Позволяет отслеживать присутствие устройств-компаньонов.
• android.permission.REQUEST_PASSWORD_COMPLEXITY
Дает возможность задавать требования к сложности пароля.
• android.permission.RUN_USER_INITIATED_JOBS
Разрешает выполнение задач, инициированных пользователем.
• android.permission.SCHEDULE_EXACT_ALARM
Позволяет приложениям устанавливать точные будильники.
• android.permission.SEND_RESPOND_VIA_MESSAGE
Разрешает отправку ответов на сообщения.
• android.permission.SEND_SMS
Дает доступ к отправке SMS.
• android.permission.SET_ALARM
Разрешает настройку будильников.
• android.permission.SET_ALWAYS_FINISH
Дает возможность включать функцию автоматического завершения активностей.
• android.permission.SET_ANIMATION_SCALE
Позволяет изменять скорость системной анимации.
• android.permission.SET_BIOMETRIC_DIALOG_ADVANCED
Разрешает управлять расширенными функциями биометрического диалога.
• android.permission.SET_DEBUG_APP
Дает доступ к настройке приложений для отладки.
• android.permission.SET_PROCESS_LIMIT
Позволяет устанавливать ограничение на количество процессов.
• android.permission.SET_TIME
Разрешает изменять системное время устройства.
• android.permission.SET_TIME_ZONE
Позволяет изменять часовой пояс.
• android.permission.SET_WALLPAPER
Дает доступ к установке обоев.
• android.permission.SET_WALLPAPER_HINTS
Разрешает настройку подсказок для обоев.
• android.permission.SIGNAL_PERSISTENT_PROCESSES
Дает возможность отправлять сигналы постоянным процессам.
• android.permission.START_FOREGROUND_SERVICES_FROM_BACKGROUND
Позволяет запускать foreground-сервисы из фонового режима.
• android.permission.START_VIEW_APP_FEATURES
Дает доступ к запуску функций приложения через представления.
• android.permission.START_VIEW_PERMISSION_USAGE
Позволяет отображать использование разрешений.
• android.permission.STATUS_BAR
Разрешает управлять панелью статуса.
• android.permission.SUBSCRIBE_TO_KEYGUARD_LOCKED_STATE
Дает возможность отслеживать состояние блокировки экрана.
• android.permission.SYSTEM_ALERT_WINDOW
Разрешает отображать окна поверх других приложений.
• android.permission.TRANSMIT_IR
Дает доступ к инфракрасному передатчику.
• android.permission.TURN_SCREEN_ON
Разрешает включать экран устройства.
• android.permission.UNINSTALL_SHORTCUT
Позволяет удалять ярлыки с домашнего экрана.
• android.permission.UPDATE_DEVICE_STATS
Дает возможность обновлять статистику устройства.
• android.permission.UPDATE_PACKAGES_WITHOUT_USER_ACTION
Разрешает обновлять пакеты без взаимодействия с пользователем.
• android.permission.USE_BIOMETRIC
Разрешает использование биометрических данных для аутентификации.
• android.permission.USE_EXACT_ALARM
Позволяет приложению устанавливать точные будильники.
• android.permission.USE_FULL_SCREEN_INTENT
Дает возможность отображать уведомления в полноэкранном режиме.
• android.permission.USE_ICC_AUTH_WITH_DEVICE_IDENTIFIER
Разрешает аутентификацию ICC с использованием идентификаторов устройства.
• android.permission.USE_SIP
Позволяет приложениям использовать SIP (Session Initiation Protocol) для голосовой связи.
• android.permission.UWB_RANGING
Дает доступ к функции измерения расстояния через UWB (Ultra Wideband).
• android.permission.VIBRATE
Разрешает управление вибрацией устройства.
• android.permission.WAKE_LOCK
Позволяет удерживать устройство в активном состоянии, не давая ему переходить в спящий режим.
• android.permission.WRITE_APN_SETTINGS
Разрешает запись и изменение настроек APN (Access Point Names).
• android.permission.WRITE_CALENDAR
Дает доступ к записи данных в календарь пользователя.
• android.permission.WRITE_CALL_LOG
Позволяет изменять журнал вызовов.
• android.permission.WRITE_CONTACTS
Разрешает запись и редактирование контактов.
• android.permission.WRITE_EXTERNAL_STORAGE
Дает доступ к записи данных во внешнее хранилище.
• android.permission.WRITE_GSERVICES
Позволяет приложениям изменять настройки Google Services.
• android.permission.WRITE_SECURE_SETTINGS
Дает возможность изменять защищенные системные настройки.
• android.permission.WRITE_SETTINGS
Разрешает изменение основных системных настроек устройства.
• android.permission.WRITE_SYNC_SETTINGS
Дает доступ к изменению настроек синхронизации.
• android.permission.WRITE_VOICEMAIL
Позволяет редактировать данные голосовой почты.
• android.permission.BIND_CARRIER_MESSAGING_SERVICE
Разрешает связывание с сервисами обмена сообщениями оператора связи.
• android.permission.BIND_CHOOSER_TARGET_SERVICE
Дает возможность привязки к сервисам выбора целей.
• android.permission.GET_TASKS
Позволяет приложению получать информацию о запущенных задачах.
• android.permission.PERSISTENT_ACTIVITY
Разрешает создавать активности, которые будут сохраняться в памяти.
• android.permission.PROCESS_OUTGOING_CALLS
Дает доступ к обработке исходящих вызовов.
• android.permission.READ_INPUT_STATE
Позволяет приложениям читать текущее состояние ввода.
• android.permission.RESTART_PACKAGES
Разрешает перезапуск приложений.
• android.permission.SET_PREFERRED_APPLICATIONS
Позволяет назначать приложения по умолчанию для определенных действий.
• android.permission.SMS_FINANCIAL_TRANSACTIONS
Разрешает отправку и получение финансовых SMS-транзакций.
• android.permission.USE_FINGERPRINT
Позволяет использовать отпечаток пальца для аутентификации.
minSdkVersion
Позволяет указывать минимальный уровень API, начиная с которого требуется определенное разрешение. Это значит, что приложение будет запрашивать указанное разрешение только на устройствах с уровнем API, равным или выше указанного minSdkVersion
, и оно будет проигнорировано на более старых устройствах. Это полезно в случаях, когда разрешение становится обязательным или появилось только в более новых версиях Android, а на более ранних версиях оно не нужно.
maxSdkVersion
Определяет максимальный уровень API, на котором это разрешение требуется. Если устройство работает на более высокой версии API, разрешение не будет запрашиваться. Обычно используется для разрешений, которые были необходимы в старых версиях Android, но больше не требуются.
requiredFeature
Указывает, что разрешение необходимо только в случае, если устройство поддерживает указанную функцию. Например, приложение должно запрашивать разрешение только на устройствах с GPS.
• Появился в Android 13 (API 33).
requiredNotFeature
Указывает, что разрешение требуется, если устройство не поддерживает указанную функцию. Например, можно потребовать определенное разрешение только на устройствах без телекоммуникационных функций.
• Появился в Android 13 (API 33).
usesPermissionFlags
Используется для настройки особенностей поведения разрешения.
• Появился в Android 13 (API 33).
• neverForLocation
указывает, что разрешение не должно рассматриваться как необходимое для доступа к данным о местоположении. Это может быть полезно для предотвращения ассоциации разрешения с местоположением, особенно в случаях, когда оно не связано с определением местоположения, но так может интерпретироваться системой.
<uses-permission-sdk-23/>
Используется для разрешений, которые стали необязательными при установке приложения, благодаря системе runtime permissions. Позволяет задекларировать разрешения, которые требуется запрашивать только на устройствах с API 23 и выше. Если приложение ориентировано на работу с API ниже 23 и не нуждается в runtime permissions на таких версиях, можно оставить старый подход к разрешениям. На устройствах API 23+ разрешения, указанные с помощью uses-permission-sdk-23, приложение запрашивает динамически в процессе работы.
• Появился в Android 6.0 (API 23).
<manifest>
<uses-permission
android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission-sdk-23
android:name="android.permission.ACCESS_FINE_LOCATION" />
</manifest>
<application/>
Определяет основные настройки и поведение приложения. Включает информацию о компонентах приложения, таких как активности, сервисы, ресиверы, и задает глобальные атрибуты, которые применяются ко всему приложению.
<manifest>
<application
android:allowBackup="true"
android:allowAudioPlaybackCapture="true"
android:allowClearUserData="true"
android:allowCrossUidActivitySwitchFromBelow="true"
android:allowNativeHeapPointerTagging="true"
android:allowTaskReparenting="true"
android:appCategory="productivity"
android:appComponentFactory="androidx.core.app.CoreComponentFactory"
android:attributionsAreUserVisible="true"
android:autoRevokePermissions="allowed"
android:backupAgent=".MyBackupAgent"
android:backupInForeground="true"
android:banner="@drawable/app_banner"
android:cantSaveState="true"
android:classLoader="dalvik.system.PathClassLoader"
android:crossProfile="true"
android:dataExtractionRules="@xml/data_extraction_rules"
android:debuggable="false"
android:defaultToDeviceProtectedStorage="true"
android:description="@string/app_description"
android:directBootAware="true"
android:enabled="true"
android:enableOnBackInvokedCallback="true"
android:extractNativeLibs="false"
android:forceQueryable="true"
android:fullBackupContent="@xml/backup_rules"
android:fullBackupOnly="false"
android:gwpAsanMode="always"
android:hardwareAccelerated="true"
android:hasCode="true"
android:hasFragileUserData="true"
android:icon="@mipmap/ic_launcher"
android:isGame="true"
android:killAfterRestore="true"
android:knownActivityEmbeddingCerts="@array/embedding_certs"
android:label="@string/app_name"
android:largeHeap="true"
android:localeConfig="@xml/locale_config"
android:logo="@drawable/app_logo"
android:manageSpaceActivity=".ManageSpaceActivity"
android:maxAspectRatio="2.1"
android:memtagMode="default"
android:minAspectRatio="1.3"
android:multiArch="true"
android:name=".MyApplication"
android:nativeHeapZeroInitialized="true"
android:networkSecurityConfig="@xml/network_security_config"
android:permission="com.example.MY_PERMISSION"
android:persistent="true"
android:persistentWhenFeatureAvailable="true"
android:preserveLegacyExternalStorage="true"
android:process=":custom_process"
android:requestLegacyExternalStorage="true"
android:requestRawExternalStorageAccess="false"
android:requiredAccountType="com.example.account"
android:requiredForAllUsers="true"
android:resetEnabledSettingsOnAppDataCleared="true"
android:resizeableActivity="true"
android:restoreAnyVersion="true"
android:restoreNeedsApplication="true"
android:restrictedAccountType="com.example.restricted_account"
android:rollbackDataPolicy="retain"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportRtl="true"
android:taskAffinity="com.example.task"
android:testOnly="true"
android:theme="@style/AppTheme"
android:uiOptions="none"
android:useEmbeddedDex="false"
android:usesCleartextTraffic="false"
android:vmSafeMode="true"
android:zygotePreloadName="preload_resource">
<activity/>
<service/>
<receiver/>
<provider/>
<profileable/>
</application>
</manifest>
allowBackup
Определяет, можно ли делать резервное копирование данных приложения.
• Начиная с Android 12 (API 31) по умолчанию true
.
allowAudioPlaybackCapture
Разрешает другим приложениям захватывать воспроизводимый аудиоконтент, если он не защищен. Например, для экранной записи.
allowClearUserData
Определяет, может ли пользователь очищать данные приложения вручную через настройки.
allowCrossUidActivitySwitchFromBelow
Разрешает переключение задач между UID в системных процессах. Используется в специальных сценариях.
allowNativeHeapPointerTagging
Включает маркировку указателей в куче для обеспечения безопасности памяти (используется в режимах отладки и анализа).
allowTaskReparenting
Разрешает задаче перемещаться к другому владельцу, например, если приложение перемещается между профилями.
appCategory
Указывает категорию приложения, например, чтобы улучшить его классификацию.
appComponentFactory
Определяет фабрику, используемую для создания компонентов приложения. Обычно используется для кастомизации работы Application
.
attributionsAreUserVisible
Указывает, отображаются ли пользователю атрибуции, связанные с этим приложением (например, для анализа разрешений).
autoRevokePermissions
Определяет, можно ли отзывать разрешения автоматически, если приложение долгое время не используется.
• Начиная с Android 11 (API 30) по умолчанию true
.
backupAgent
Указывает класс, реализующий логику резервного копирования. Используется для настройки процесса создания и восстановления бэкапов.
backupInForeground
Разрешает выполнять резервное копирование в фоновом режиме, даже если приложение активно используется.
banner
Указывает баннерное изображение приложения, используемое в лаунчере или других интерфейсах.
cantSaveState
Указывает, что приложение не сохраняет состояние из-за больших объемов данных или других ограничений.
classLoader
Указывает пользовательский загрузчик классов для приложения, обычно используется в продвинутых случаях.
crossProfile
Разрешает приложению обмениваться данными между профилями (например, рабочий и личный профиль).
dataExtractionRules
Указывает правила извлечения данных для резервных копий и миграции.
debuggable
Указывает, разрешена ли отладка приложения. Обычно true
для отладочной сборки и false
для релиза.
defaultToDeviceProtectedStorage
Указывает, что приложение по умолчанию должно использовать защищенное хранилище устройства, а не общий доступ.
description
Указывает описание приложения, которое отображается в интерфейсе, например, в настройках.
directBootAware
Указывает, что приложение может работать в режиме Direct Boot, до разблокировки устройства.
enabled
Определяет, включено ли приложение. Если false
, приложение становится недоступным, пока не будет включено вручную или программно.
enableOnBackInvokedCallback
Включает использование нового API для обработки нажатий на кнопку «назад».
extractNativeLibs
Указывает, извлекать ли нативные библиотеки из APK в файловую систему или загружать их напрямую из архива APK.
forceQueryable
Делает приложение доступным для поиска другими приложениями, независимо от его настроек экспорта.
fullBackupContent
Указывает файл для конфигурации полного резервного копирования.
fullBackupOnly
Разрешает только полное резервное копирование, исключая дифференциальные обновления данных.
gwpAsanMode
Определяет, включен ли анализ ошибок памяти GWP-ASan (Guarded Heap Allocations).
hardwareAccelerated
Управляет использованием аппаратного ускорения для отрисовки графики в приложении. Аппаратное ускорение позволяет перенести выполнение графических операций с процессора на графический процессор (GPU), что улучшает производительность и плавность анимаций, особенно для сложных визуальных элементов.
• Начиная с Android 3.0 (API 11) по умолчанию true
.
hasCode
Указывает, содержит ли APK файл исполняемый код. Если false
, система предполагает, что приложение состоит только из ресурсов.
hasFragileUserData
Сообщает системе, что приложение содержит хрупкие пользовательские данные, требующие особой обработки.
icon
Иконка приложения, отображаемая в лаунчере и других интерфейсах.
isGame
Помечает приложение как игру, что может повлиять на его классификацию и поведение в магазине приложений.
killAfterRestore
Указывает, завершать ли процесс приложения после восстановления данных, чтобы применить изменения.
knownActivityEmbeddingCerts
Содержит список доверенных сертификатов для встраивания активностей в другие приложения.
label
Название приложения, отображаемое в лаунчере.
largeHeap
Позволяет приложению использовать больший объем памяти, если доступно. Полезно для тяжелых приложений, например, игр.
localeConfig
Используется для указания языков, которые приложение поддерживает. Позволяет более точно контролировать список локалей, с которыми может работать приложение, особенно в сочетании с функциями Android 13 для поддержки многоязычности.
• Появился в Android 13 (API 33).
<locale-config xmlns:android="http://schemas.android.com/apk/res/android">
<locale android:name="en" /> <!-- Английский -->
<locale android:name="es" /> <!-- Испанский -->
<locale android:name="fr" /> <!-- Французский -->
<locale android:name="ru" /> <!-- Русский -->
</locale-config>
logo
Указывает логотип приложения, который может отображаться в интерфейсе системы или лаунчере.
manageSpaceActivity
Определяет активность, запускаемую для управления пространством, например, очистки данных.
maxAspectRatio
Устанавливает максимальное соотношение сторон для отображения приложения.
memtagMode
Контролирует использование Memtag для защиты памяти.
minAspectRatio
Устанавливает минимальное соотношение сторон для отображения приложения.
multiArch
Указывает, поддерживает ли приложение несколько архитектур процессоров.
nativeHeapZeroInitialized
Указывает, инициализируются ли значения в куче нулями по умолчанию для повышения безопасности.
networkSecurityConfig
Определяет файл конфигурации безопасности сети.
name
Указывает класс, наследуемый от Application
, который управляет глобальным состоянием приложения.
permission
Указывает разрешение, которое требуется для запуска компонентов приложения.
persistent
Помечает приложение как постоянно запущенное (например, системные сервисы).
persistentWhenFeatureAvailable
Делает приложение постоянно запущенным, если определенная аппаратная или программная функция доступна.
preserveLegacyExternalStorage
Сохраняет поведение хранилища из Android 9 и более ранних версий для совместимости.
process
Определяет имя процесса, в котором будет работать приложение.
requestLegacyExternalStorage
Разрешает приложению использовать старую модель доступа к внешнему хранилищу (до Scoped Storage).
requestRawExternalStorageAccess
Запрашивает доступ к файлам на внешнем хранилище в их исходной форме, без ограничений.
requiredAccountType
Указывает тип учетной записи, необходимой для работы приложения.
requiredForAllUsers
Определяет, должно ли приложение быть доступным для всех пользователей на устройстве.
resetEnabledSettingsOnAppDataCleared
Сбрасывает настройки включенных компонентов при очистке данных приложения.
resizeableActivity
Позволяет активности изменять размеры для поддержки многооконного режима.
restoreAnyVersion
Разрешает восстановление данных для любой версии приложения.
restoreNeedsApplication
Указывает, что для восстановления данных приложение должно быть установлено.
restrictedAccountType
Указывает тип учетной записи, ограниченной в правах, необходимый для работы приложения.
rollbackDataPolicy
Определяет, как данные приложения обрабатываются при откате версии (например, сохраняются или удаляются).
roundIcon
Иконка для устройств с круглыми иконками.
supportsRtl
Включает поддержку правосторонних языков (RTL).
• По умолчанию false
.
taskAffinity
Указывает, к какой задаче должна принадлежать активность приложения.
testOnly
Помечает приложение как тестовое, доступное только для установки через ADB.
theme
Глобальная тема для всех компонентов приложения.
uiOptions
Определяет параметры пользовательского интерфейса (например, поддержка действий в панели).
useEmbeddedDex
Указывает, использовать ли встроенные DEX-файлы, а не оптимизированные.
usesCleartextTraffic
Разрешает использование незашифрованного трафика (например, HTTP).
vmSafeMode
Активирует безопасный режим виртуальной машины для снижения рисков при работе приложения.
zygotePreloadName
Указывает имя ресурса или класса, который должен быть предварительно загружен через Zygote.
<activity/>
Используется для объявления Activity
в Android-приложении.
<manifest>
<application>
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:exported="true"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:theme="@style/AppTheme"
android:configChanges="orientation|screenSize|keyboardHidden" />
</application>
</manifest>
configChanges
Указывает, как Activity
должна обрабатывать изменения конфигурации, такие как поворот экрана или изменение языка.
• colorMode
Отвечает за изменения в цветовом режиме устройства, например, при переходе между стандартным и широким цветовым диапазоном.
• dencity
Изменение плотности экрана (DPI). Позволяет управлять изменениями, связанными с изменением разрешения экрана или при подключении внешнего монитора.
• fontScale
Изменение плотности экрана (DPI). Позволяет управлять изменениями, связанными с изменением разрешения экрана или при подключении внешнего монитора.
• fontWeightAdjustment
Изменение настройки веса шрифта, которая может быть изменена через системные настройки.
• grammaticalGender
Отвечает за смену грамматического рода в языке интерфейса.
• keyboard
Изменение типа клавиатуры, например, с физической клавиатуры на экранную.
• keyboardHidden
Изменение состояния видимости клавиатуры — например, когда экранная клавиатура появляется или скрывается.
• layoutDirection
Изменение направления макета, например, при смене языка с левостороннего на правосторонний или наоборот.
• locale
Изменение локали, например, при смене языка системы.
• mcc
Изменение кода мобильной страны (MCC), который может указывать на другую страну.
• mnc
Изменение кода мобильной сети (MNC), который может указывать на другую сеть мобильного оператора.
• navigation
Изменение типа навигации устройства (например, с D-pad на тачпад).
• orientation
Изменение ориентации экрана — между портретной и альбомной ориентацией.
• screenLayout
Изменение параметров компоновки экрана, например, смена размеров экрана (малый, средний, большой) или плотности.
• screenSize
Изменение размера экрана, когда подключен внешний дисплей или изменен размер окна.
• smallestScreenSize
Минимальный размер экрана устройства — полезно для обработки адаптивных интерфейсов.
• touchscreen
Изменение типа тачскрина (например, при подключении устройства с тачскрином).
• uiMode
Изменение режима пользовательского интерфейса, например, при переключении в ночной режим или в режим автомобильного интерфейса.
<activity
android:configChanges="orientation|screenSize" />
exported
Определяет, может ли компонент Activity
быть доступным другим приложениям.
<activity
android:exported="true" />
label
Задает строку, которая будет отображаться как заголовок Activity
.
<activity
android:label="My App" />
launchMode
Определяет режим запуска Activity
.
• standard
стандартный режим.
• singleTop
если Activity
уже находится на вершине стека, будет вызван метод onNewIntent()
.
• singleTask
Activity
будет единственной в своем стеке.
• singleInstance
Activity
будет единственной в своем стеке, и никакие другие Activity
не могут быть запущены в ее стеке.
• singleInstancePerTask
режим, позволяющий иметь один экземпляр Activity
в задаче.
<activity
android:launchMode="standard" />
name
Указывает класс Activity
. Это обязательный атрибут, который определяет, какую Activity
следует запускать.
<activity
android:name=".MainActivity" />
screenOrientation
Определяет, как будет отображаться Activity
в зависимости от ориентации экрана.
• unspecified
стандартное поведение.
• behind
Activity
отображается в ориентации, которая была установлена для предыдущей Activity
(например, если предыдущая Activity
была в портретной ориентации, то эта Activity
будет отображаться также в портретной).
• locked
Activity
будет заблокирована в текущей ориентации, которая была установлена, и не будет изменяться.
• landscape
фиксированная ландшафтная ориентация.
• portrait
фиксированная портретная ориентация.
• reverseLandscape
фиксированная ландшафтная ориентация, перевернутая на 180 градусов.
• reversePortrait
фиксированная портретная ориентация, перевернутая на 180 градусов.
• sensor
автоматически переключается между портретной и ландшафтной ориентацией в зависимости от положения устройства.
• nosensor
Activity
не будет менять ориентацию в зависимости от датчиков устройства, всегда будет использовать значение, указанное в манифесте.
• sensorLandscape
Activity
переключается между ландшафтной и портретной ориентациями в зависимости от положения устройства, но будет предпочитать ландшафтную ориентацию.
• sensorPortrait
Activity
переключается между портретной и ландшафтной ориентациями, но будет предпочитать портретную ориентацию.
• fullSensor
Activity
меняет ориентацию в зависимости от положения устройства с учетом всех доступных сенсоров, включая гироскоп.
• user
Activity
отображается в той ориентации, которую установил пользователь.
• userLandscape
Activity
будет отображаться в ландшафтной ориентации, установленной пользователем.
• userPortrait
Activity
будет отображаться в портретной ориентации, установленной пользователем.
• fullUser
Activity
меняет ориентацию в зависимости от пользовательских настроек с учетом всех доступных сенсоров.
theme
Определяет тему, которая будет применена к Activity
. Если не указано, используется тема приложения.
<activity
android:theme="@style/AppTheme" />
<activity-alias/>
Позволяет создать альтернативное имя (алиас) для существующей Activity
. Это удобно, если нужно предоставить разные точки входа в приложение, отображать разные иконки, или поддерживать обратную совместимость при изменении структуры приложения.
<manifest>
<application>
<activity-alias
android:allowUntrustedActivityEmbedding="true"
android:attributionTags="tag1,tag2"
android:banner="@drawable/banner_image"
android:description="@string/alias_description"
android:enabled="true"
android:exported="true"
android:icon="@drawable/alias_icon"
android:knownActivityEmbeddingCerts="CERTIFICATE_FINGERPRINT"
android:label="Main Alias"
android:logo="@drawable/alias_logo"
android:name=".MainAlias"
android:parentActivityName=".ParentActivity"
android:permission="android.permission.SOME_PERMISSION"
android:roundIcon="@drawable/round_alias_icon"
android:targetActivity=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity-alias>
</application>
</manifest>
• allowUntrustedActivityEmbedding
Позволяет встраивать активность с помощью небезопасного источника, если значение true
. Применяется для безопасности при встраивании активности в другое приложение.
• attributionTags
Указывает теги атрибуции, которые могут использоваться для аналитики, чтобы различать действия внутри активности.
• banner
Задаёт изображение для баннера в лаунчере, если оно отличается от основного баннера приложения.
• description
Задаёт описание для activity-alias
, которое может отображаться в информации о приложении.
• enabled
Указывает, включён ли алиас (true
), или отключён (false
). Если false
, алиас будет игнорироваться системой.
• exported
Определяет, доступен ли алиас другим приложениям (true
), или только самому приложению (false
).
• icon
Устанавливает значок для алиаса, отличный от значка основной активности.
• knownActivityEmbeddingCerts
Указывает сертификаты, которым разрешено встраивать эту активность. Используется для повышения безопасности.
• label
Определяет название алиаса, которое будет отображаться пользователю.
• logo
Устанавливает логотип для алиаса, который может отображаться в заголовке или другой области UI.
• name
Задаёт имя самого алиаса, которым можно оперировать в системе (например, при запуске через Intent
).
• parentActivityName
Указывает родительскую активность для поддержки обратной навигации (up-navigation) в Android.
• permission
Определяет разрешение, необходимое для доступа к этому алиасу.
• roundIcon
Устанавливает круглую иконку для алиаса, которая будет отображаться в круглых значках на некоторых устройствах.
• targetActivity
Указывает, на какую именно Activity
ссылается этот алиас. Это обязательный атрибут, который связывает алиас с настоящей Activity
.
<service/>
Используется для объявления компонента Service
, который выполняет длительные операции в фоновом режиме без взаимодействия с пользователем.
<manifest>
<application>
<service
android:exported="false"
android:foregroundServiceType="location"
android:isolatedProcess="true"
android:name=".MyForegroundService"
android:permission="android.permission.BIND_JOB_SERVICE"
android:process=":remote"
android:stopWithTask="true" />
</application>
</manifest>
exported
Указывает, доступен ли сервис для других приложений. По умолчанию true, если у него есть разрешения или false, если их нет.
foregroundServiceType
Определяет тип фонового сервиса, например, для работы с данными, медиа и т.д. Используется, если сервис объявлен как foreground
.
• camera
Используется, если сервис взаимодействует с камерой устройства, например, для захвата видео или фотографий.
• connectedDevice
Используется для сервисов, которые управляют соединениями с устройствами, такими как Bluetooth или Wi-Fi.
• dataSync
Применяется для синхронизации данных с удаленными серверами или устройствами.
• health
Используется для приложений, работающих с данными о здоровье и фитнесе.
• location
Применяется для сервисов, которые отслеживают местоположение устройства.
• mediaPlayback
Используется для сервисов, которые управляют воспроизведением медиа-контента, таких как аудио или видео.
• mediaProcessing
Применяется для обработки медиа-контента, например, при редактировании видео или аудио.
• mediaProjection
Используется для захвата и отображения содержимого экрана.
• microphone
Применяется для сервисов, которые используют микрофон устройства.
• phoneCall
Используется для сервисов, управляющих телефонными вызовами.
• remoteMessaging
Применяется для сервисов, которые обрабатывают удаленные сообщения или уведомления.
• shortService
Используется для краткосрочных фоновых сервисов.
• specialUse
Применяется для специальных случаев, не подпадающих под другие категории.
• systemExempted
Используется для системных сервисов, которые не подлежат ограничениям, налагаемым на обычные фоновые сервисы.
isolatedProcess
Указывает, что сервис будет запущен в изолированном процессе, что позволяет улучшить безопасность и защитить данные.
name
Указывает полное имя класса сервиса, который нужно запустить.
permission
Пределяет, какие разрешения нужны для запуска сервиса.
process
Указывает, в каком процессе будет запущен данный сервис. По умолчанию, сервисы работают в основном процессе приложения, но с помощью этого атрибута можно указать другой процесс. Это полезно для разделения нагрузки или защиты от сбоев.
stopWithTask
Указывает, будет ли сервис автоматически остановлен при завершении задачи, к которой он привязан.
<receiver/>
Используется для объявления приемников широковещательных сообщений (Broadcast Receivers). Приемники позволяют вашему приложению получать уведомления о различных системных событиях, таких как изменения состояния сети, получение SMS или изменение состояния батареи.
<manifest>
<application>
<receiver
android:enabled="true"
android:exported="false"
android:name=".MyBroadcastReceiver"
android:permission="android.permission.BROADCAST_SMS" />
</application>
</manifest>
• enabled
Определяет, активен ли приемник. По умолчанию true
.
• exported
Определяет, может ли приемник принимать сообщения из других приложений. Значение true
позволяет другим приложениям отправлять широковещательные сообщения вашему приемнику.
• name
Указывает имя класса приемника, который наследуется от BroadcastReceiver
.
• permission
Указывает разрешение, необходимое для отправки сообщений этому приемнику. Это позволяет контролировать, какие приложения могут взаимодействовать с вашим приемником.
<provider/>
Используется для объявления компонента ContentProvider
, который предоставляет доступ к данным приложения другим приложениям через стандартные механизмы, такие как URI
.
<manifest>
<application>
<provider
android:authorities="com.example.app.provider"
android:exported="true"
android:grantUriPermissions="true"
android:multiprocess="false"
android:name=".MyContentProvider"
android:readPermission="com.example.app.permission.READ_DATA"
android:writePermission="com.example.app.permission.WRITE_DATA"
android:syncable="true" />
</application>
</manifest>
• authorities
Определяет уникальный идентификатор провайдера, используемый другими приложениями для обращения к данным.
• exported
Указывает, доступен ли провайдер для других приложений. По умолчанию true
, если у него есть разрешения или false
, если их нет.
• grantUriPermissions
Разрешает другим приложениям получать временный доступ к данным, используя URI
.
• multiprocess
Указывает, поддерживает ли провайдер работу в нескольких процессах.
• name
Указывает полное имя класса провайдера данных.
• readPermission
Определяет, какие разрешения нужны для чтения данных через провайдер.
• syncable
Делает провайдер синхронизируемым с помощью SyncAdapter
.
• writePermission
Определяет, какие разрешения нужны для записи данных через провайдер.
<uses-library/>
Используется для указания библиотек, которые необходимо загрузить приложению во время выполнения. Он сообщает системе, что приложение зависит от определенной библиотеки, входящей в состав платформы Android.
<manifest>
<application>
<uses-library
android:name="org.apache.http.legacy"
android:required="true" />
</application>
</manifest>
• name
имя библиотеки, от которой зависит приложение (обязательный).
• required
указывает, является ли библиотека обязательной для работы приложения (по умолчанию true
). true
- приложение не запустится, если библиотека недоступна. false
- приложение может работать без библиотеки, если она отсутствует.
<profileable/>
https://developer.android.com/guide/topics/manifest/profileable-element |
Предназначен для включения профилирования релизных сборок без необходимости подписки отладочным ключом. Это удобно для анализа производительности перед выпуском приложения.
• Появился в Android 10 (API 29).
<manifest>
<application>
<profileable
android:shell="true"
android:enabled="true" />
</application>
</manifest>
shell
Разрешает профилирование через adb и инструменты, такие как Android Studio Profiler.
enabled
Указывает, может ли приложение быть профилировано системными службами или инструментами оболочки. Если false
, приложение вообще не может быть профилировано.
• По умолчанию true
.
• Появился в Android 11 (API 30).
<queries/>
Используется для указания, с какими приложениями или типами компонентов приложение может взаимодействовать через интенты или пакеты. Этот атрибут необходим для соблюдения ограничений конфиденциальности, поскольку с Android 11 приложения не могут просто так запрашивать информацию обо всех установленных приложениях на устройстве.
• Появился в Android 11 (API 30).
<manifest>
<queries>
<package
android:name="com.example.someapp" />
<intent>
<action
android:name="android.intent.action.VIEW" />
<data
android:scheme="https" />
</intent>
<provider
android:authorities="com.example.provider" />
</queries>
</manifest>
• package
Позволяет приложению видеть конкретные приложения по их package name
. Это полезно, если нужно проверить наличие определенного приложения.
• intent
Указывает типы интентов, которые приложение может отправлять для взаимодействия с другими приложениями. Это полезно для вызовов, таких как открытие ссылок, отправка электронной почты или фото с помощью других приложений.
• provider
Позволяет приложению видеть определенные ContentProvider
других приложений. Это полезно для приложений, которые работают с общими данными через ContentProvider
.
<meta-data/>
Используется для передачи дополнительных данных приложению или его компонентам.
<manifest>
<application>
<!-- Для настройки компонента. -->
<service
android:name=".MyService">
<meta-data
android:name="com.example.SERVICE_OPTION"
android:value="enabled" />
</service>
<!-- Для передачи данных приложению. -->
<meta-data
android:name="com.example.API_KEY"
android:value="${apiKey}"
android:resource="@xml/config" />
</application>
</manifest>
android {
defaultConfig {
manifestPlaceholders += mapOf("apiKey" to "YOUR_API_KEY")
}
}
// Получение данных в коде
val appInfo = context.packageManager.getApplicationInfo(context.packageName, PackageManager.GET_META_DATA)
val apiKey = appInfo.metaData?.getString("com.example.API_KEY")
• name
ключ данных (обязательный).
• value
значение, которое передается (может быть string
integer
boolean
).
• resource
вместо value
можно указать ссылку на ресурс.
<property/>
Используется для определения свойств, которые могут влиять на работу приложения. Эти свойства, как правило, применяются к определенным компонентам приложения и поддерживаются системой Android или библиотеками. Тег <property>
можно включить внутрь различных компонентов приложения, таких как <application>
или <activity>
, для настройки их поведения.
<manifest>
<application>
<property
android:name="com.example.feature_enabled"
android:value="true" />
</application>
</manifest>
// Получение данных в коде
val appInfo = context.packageManager.getApplicationInfo(context.packageName, PackageManager.GET_META_DATA)
val propertyValue = appInfo.metaData?.getString("com.example.feature_enabled")
• name
имя свойства (обязательный).
• value
значение свойства (обязательный).
Вопросы на собесе (5)
- Для чего нужен AndroidManifest?
AndroidManifest.xml содержит информацию о приложении, такую как его основные компоненты, разрешения и настройки конфигурации. Он необходим для корректной работы приложения на устройстве Android.
- В какой момент AndroidManifest считывается системой?
Во время установки приложения. Система анализирует манифест, чтобы зарегистрировать компоненты приложения и настроить окружение для его работы.
- Что происходит с манифестами в многомодульном Android-приложении?
Объединяются в один итоговый (merged) манифест при сборке.
- Структура манифеста?
• Тег
<application>
включающий основные компоненты.• Тег фич
<user-feature>
.• Тег разрешений
<user-permission>
.• Тег метаданных
<meta>
.
- Можно ли указывать правила мерджа для манифестов?
Да, с помощью
tools:node
в XML. Это позволяет контролировать, как элементы манифеста из разных модулей или библиотек будут объединяться при сборке.