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)
  1. Для чего нужен AndroidManifest?

    AndroidManifest.xml содержит информацию о приложении, такую как его основные компоненты, разрешения и настройки конфигурации. Он необходим для корректной работы приложения на устройстве Android.

  1. В какой момент AndroidManifest считывается системой?

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

  1. Что происходит с манифестами в многомодульном Android-приложении?

    Объединяются в один итоговый (merged) манифест при сборке.

  1. Структура манифеста?

    Тег <application> включающий основные компоненты.

    Тег фич <user-feature>.

    Тег разрешений <user-permission>.

    Тег метаданных <meta>.

  1. Можно ли указывать правила мерджа для манифестов?

    Да, с помощью tools:node в XML. Это позволяет контролировать, как элементы манифеста из разных модулей или библиотек будут объединяться при сборке.