<приложение>

синтаксис:
<application android:allowTaskReparenting=["true" | "false"]
             android:allowBackup=["true" | "false"]
             android:allowClearUserData=["true" | "false"]
             android:allowCrossUidActivitySwitchFromBelow=["true" | "false"]
             android:allowNativeHeapPointerTagging=["true" | "false"]
             android:appCategory=["accessibility" | "audio" | "game" |
             "image" | "maps" | "news" | "productivity" | "social" | "video"]
             android:backupAgent="string"
             android:backupInForeground=["true" | "false"]
             android:banner="drawable resource"
             android:dataExtractionRules="string resource"
             android:debuggable=["true" | "false"]
             android:description="string resource"
             android:enabled=["true" | "false"]
             android:extractNativeLibs=["true" | "false"]
             android:fullBackupContent="string"
             android:fullBackupOnly=["true" | "false"]
             android:gwpAsanMode=["always" | "never"]
             android:hasCode=["true" | "false"]
             android:hasFragileUserData=["true" | "false"]
             android:hardwareAccelerated=["true" | "false"]
             android:icon="drawable resource"
             android:isGame=["true" | "false"]
             android:isMonitoringTool=["parental_control" | "enterprise_management" |
             "other"]
             android:killAfterRestore=["true" | "false"]
             android:largeHeap=["true" | "false"]
             android:label="string resource"
             android:logo="drawable resource"
             android:manageSpaceActivity="string"
             android:name="string"
             android:networkSecurityConfig="xml resource"
             android:permission="string"
             android:persistent=["true" | "false"]
             android:process="string"
             android:restoreAnyVersion=["true" | "false"]
             android:requestLegacyExternalStorage=["true" | "false"]
             android:requiredAccountType="string"
             android:resizeableActivity=["true" | "false"]
             android:restrictedAccountType="string"
             android:supportsRtl=["true" | "false"]
             android:taskAffinity="string"
             android:testOnly=["true" | "false"]
             android:theme="resource or theme"
             android:uiOptions=["none" | "splitActionBarWhenNarrow"]
             android:usesCleartextTraffic=["true" | "false"]
             android:vmSafeMode=["true" | "false"] >
    . . .
</application>
содержится в:
<manifest>
может содержать:
<activity>
<activity-alias>
<meta-data>
<service>
<receiver>
<profileable>
<provider>
<uses-library>
<uses-native-library>
описание:

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

Многие из этих атрибутов, такие как icon , label , permission , process , taskAffinity и allowTaskReparenting , устанавливают значения по умолчанию для соответствующих атрибутов элементов компонента. Другие, такие как debuggable , enabled , description allowClearUserData , устанавливают значения для приложения в целом и не переопределяются компонентами.

атрибуты
android:allowTaskReparenting
Могут ли действия, определенные приложением, перейти от задачи, которая их запустила, к задаче, к которой они имеют отношение, когда эта задача в следующий раз будет вынесена на передний план. Это "true" если они могут двигаться, и "false" , если они должны оставаться на той задаче, с которой начали. Значение по умолчанию — "false" .

Элемент <activity> имеет собственный allowTaskReparenting , который может переопределять установленное здесь значение.

android:allowBackup

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

Примечание. Для приложений, предназначенных для Android 12 (уровень API 31) или выше, такое поведение может быть разным. На устройствах некоторых производителей вы не можете отключить миграцию файлов вашего приложения с устройства на устройство.

Однако вы можете отключить резервное копирование и восстановление файлов вашего приложения в облаке, установив для этого атрибута значение "false" , даже если ваше приложение предназначено для Android 12 (уровень API 31) или выше.

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

android:allowClearUserData

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

Примечание. Только приложения, являющиеся частью образа системы, могут явно объявлять этот атрибут. Сторонние приложения не могут включать этот атрибут в свои файлы манифеста.

Дополнительную информацию см. в разделе Обзор резервного копирования данных .

android:allowCrossUidActivitySwitchFromBelow

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

Начиная с уровня Target SDK Level Build.VERSION_CODES.VANILLA_ICE_CREAM , приложениям может быть запрещено начинать новые действия или завершать свою задачу, если только главное действие такой задачи не принадлежит тому же UID по соображениям безопасности.

Установка этого флага в значение true позволит запускающему приложению игнорировать ограничение, если это действие находится на вершине. Приложения, соответствующие UID этого действия, всегда освобождаются от налога.

Дополнительные сведения см. в разделе Запуск защищенных фоновых действий .

android:allowNativeHeapPointerTagging

Включает ли приложение функцию маркировки указателя кучи. Значением этого атрибута по умолчанию является "true" .

Примечание. Отключение этой функции не решает основную проблему работоспособности кода. Будущие аппаратные устройства могут не поддерживать этот тег манифеста.

Дополнительные сведения см. в разделе Тегированные указатели .

android:appCategory

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

Должно быть одно из следующих постоянных значений.

Ценить Описание
accessibility Приложения, которые в основном предназначены для специальных возможностей, например программы чтения с экрана.
audio Приложения, которые в основном работают со звуком или музыкой, например музыкальные проигрыватели.
game Приложения, которые в основном представляют собой игры.
image Приложения, которые в основном работают с изображениями или фотографиями, например приложения камеры или галереи.
maps Приложения, которые в основном представляют собой картографические приложения, например навигационные приложения.
news Приложения, которые в основном представляют собой новостные приложения, например газеты, журналы или спортивные приложения.
productivity Приложения, которые в основном предназначены для повышения производительности, например облачные хранилища или приложения для рабочего места.
social Приложения, которые в основном представляют собой социальные приложения, например приложения для обмена сообщениями, общения, электронной почты или социальных сетей.
video Приложения, которые в основном работают с видео или фильмами, например приложения для потокового видео.

android:backupAgent
Имя класса, реализующего агент резервного копирования приложения, подкласса BackupAgent . Значением атрибута является полное имя класса, например "com.example.project.MyBackupAgent" . Однако в качестве сокращения, если первым символом имени является точка, например ".MyBackupAgent" , она добавляется к имени пакета, указанному в элементе <manifest> .

По умолчанию нет. Имя должно быть конкретным.

android:backupInForeground
Указывает, что операции автоматического резервного копирования можно выполнять в этом приложении, даже если приложение находится в состоянии, эквивалентном переднему плану. Система закрывает приложение во время операции автоматического резервного копирования, поэтому используйте этот атрибут с осторожностью. Установка для этого флага значения "true" может повлиять на поведение приложения, пока оно активно.

Значение по умолчанию — "false" , что означает, что ОС избегает резервного копирования приложения, пока оно работает на переднем плане, например музыкального приложения, которое активно воспроизводит музыку с помощью службы в состоянии startForeground() .

android:banner
Рисуемый ресурс , предоставляющий расширенный графический баннер для связанного с ним элемента. Используйте с тегом <application> , чтобы предоставить баннер по умолчанию для всех действий приложения, или с тегом <activity> , чтобы предоставить баннер для определенного действия.

Система использует баннер для представления приложения на главном экране Android TV. Поэтому указывайте это только для приложений с действием, которое обрабатывает намерение CATEGORY_LEANBACK_LAUNCHER .

Этот атрибут устанавливается как ссылка на ресурс, содержащий изображение, например "@drawable/banner" . Баннера по умолчанию нет.

Дополнительную информацию см. в разделе Предоставление баннера на главном экране .

android:dataExtractionRules

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

Информацию о формате XML-файла см. в разделе Резервное копирование и восстановление .

android:debuggable
Можно ли отлаживать приложение даже при запуске на устройстве в пользовательском режиме. Оно "true" если может быть, и "false" если нет. Значение по умолчанию — "false" .
android:description
Читаемый пользователем текст о приложении, который длиннее и более информативен, чем метка приложения. Значение устанавливается как ссылка на строковый ресурс. В отличие от метки, это не может быть необработанная строка. Значения по умолчанию нет.
android:enabled
Может ли система Android создавать экземпляры компонентов приложения. Это "true" если может, и "false" если нет. Если значение равно "true" , атрибут enabled каждого компонента определяет, включен ли этот компонент. Если значение равно "false" , оно переопределяет значения, специфичные для компонента, и все компоненты отключаются.

Значение по умолчанию — "true" .

android:extractNativeLibs

Начиная с AGP 4.2.0, параметр DSL useLegacyPackaging заменяет атрибут манифеста extractNativeLibs . Используйте useLegacyPackaging в файле build.gradle вашего приложения вместо extractNativeLibs в файле манифеста, чтобы настроить поведение сжатия собственной библиотеки. Дополнительные сведения см. в примечаниях к выпуску. Используйте DSL для упаковки сжатых собственных библиотек .

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

Значение по умолчанию extractNativeLibs зависит от minSdkVersion и версии AGP, которую вы используете. В большинстве случаев поведение по умолчанию, вероятно, соответствует вашему желанию, и вам не нужно явно задавать этот атрибут.

android:fullBackupContent
Этот атрибут указывает на XML-файл, содержащий полные правила резервного копирования для автоматического резервного копирования . Эти правила определяют, какие файлы подлежат резервному копированию. Дополнительные сведения см. в синтаксисе конфигурации XML для автоматического резервного копирования.

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

android:fullBackupOnly
Этот атрибут указывает, следует ли использовать автоматическое резервное копирование на устройствах, где оно доступно. Если установлено значение "true" , ваше приложение выполняет автоматическое резервное копирование при установке на устройство под управлением Android 6.0 (уровень API 23) или более поздней версии. На старых устройствах ваше приложение игнорирует этот атрибут и выполняет резервное копирование ключей и значений .

Значение по умолчанию — "false" .

android:gwpAsanMode
Этот атрибут указывает, следует ли использовать GWP-ASan , встроенную функцию распределения памяти, которая помогает находить ошибки использования после освобождения и переполнения буфера кучи.

Значение по умолчанию — "never" .

android:hasCode
Содержит ли приложение какой-либо код DEX, то есть код, использующий язык программирования Kotlin или Java. Это "true" если это так, и "false" если нет. Если значение равно "false" , система не пытается загружать какой-либо код приложения при запуске компонентов. Значение по умолчанию — "true" .

Если приложение включает собственный код (C/C++), но не содержит кода DEX, для этого параметра должно быть установлено значение "false" . Если установлено значение "true" когда APK не содержит кода DEX, приложение может не загрузиться.

Это свойство должно учитывать код, включенный в приложение по зависимостям. Если приложение зависит от AAR, использующего код Java/Kotlin, или непосредственно от JAR, app:hasCode должно быть "true" или опущено, поскольку это значение по умолчанию.

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

android:hasFragileUserData
Показывать ли пользователю запрос на сохранение данных приложения, когда пользователь удаляет приложение. Значение по умолчанию — "false" .
android:hardwareAccelerated
Включен ли аппаратный ускоренный рендеринг для всех действий и представлений в этом приложении. Это "true" если она включена, и "false" если нет. Значением по умолчанию является "true" если minSdkVersion или targetSdkVersion установлено значение "14" или выше. В противном случае это "false" .

Начиная с Android 3.0 (уровень API 11), приложениям доступен механизм рендеринга OpenGL с аппаратным ускорением, позволяющий повысить производительность многих распространенных операций с 2D-графикой. Если включен механизм рендеринга с аппаратным ускорением, большинство операций в Canvas, Paint, Xfermode, ColorFilter, Shader и Camera ускоряются.

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

Не все 2D-операции OpenGL ускоряются. Если вы включаете средство рендеринга с аппаратным ускорением, протестируйте свое приложение, чтобы оно могло использовать средство рендеринга без ошибок.

Для получения дополнительной информации прочтите руководство по аппаратному ускорению .

android:icon
Значок приложения в целом и значок по умолчанию для каждого компонента приложения. См. отдельные атрибуты icon для элементов <activity> , <activity-alias> , <service> , <receiver> и <provider> .

Этот атрибут устанавливается как ссылка на ресурс, содержащий изображение, например "@drawable/icon" . Значка по умолчанию нет.

android:isGame
Является ли приложение игрой. Система может группировать приложения, классифицируемые как игры, или отображать их отдельно от других приложений. По умолчанию установлено значение "false" .
android:isMonitoringTool

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

Примечание. Если приложение объявляет этот атрибут в своем манифесте, разработчик должен следовать политике Stalkerware , чтобы опубликовать приложение в Google Play.

Значения по умолчанию нет. Разработчик должен указать одно из следующих значений:

Ценить Описание
"parental_control" Приложение обеспечивает родительский контроль и специально предназначено для родителей, которые хотят обеспечить безопасность своих детей.
"enterprise_management" Приложение предназначено для предприятий, которые хотят управлять устройствами, предоставленными сотрудникам, и отслеживать их.
"other" Приложение предназначено для варианта использования, не указанного в этой таблице.
android:killAfterRestore

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

По умолчанию установлено значение "true" , что означает, что после того, как приложение завершит обработку своих данных во время полного восстановления системы, оно завершится.

android:largeHeap

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

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

Чтобы запросить доступный размер памяти во время выполнения, используйте методы getMemoryClass() или getLargeMemoryClass() .

android:label
Читаемая пользователем метка для приложения в целом и метка по умолчанию для каждого из компонентов приложения. См. отдельные атрибуты label для элементов <activity> , <activity-alias> , <service> , <receiver> и <provider> .

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

android:logo
Логотип приложения в целом и логотип по умолчанию для действий. Этот атрибут устанавливается как ссылка на ресурс, содержащий изображение, например "@drawable/logo" . Логотипа по умолчанию нет.
android:manageSpaceActivity
Полное имя подкласса Activity , который система запускает, чтобы пользователи могли управлять памятью, занимаемой приложением на устройстве. Активность также объявляется с помощью элемента <activity> .
android:name
Полное имя подкласса Application , реализованного для приложения. Когда процесс приложения запускается, экземпляр этого класса создается раньше любого из компонентов приложения.

Подкласс не является обязательным. Большинству приложений он не нужен. При отсутствии подкласса Android использует экземпляр базового класса Application .

android:networkSecurityConfig

Указывает имя XML-файла, содержащего конфигурацию сетевой безопасности вашего приложения. Значение представляет собой ссылку на файл ресурсов XML, содержащий конфигурацию.

Этот атрибут был добавлен на уровне API 24.

android:permission
Имя разрешения, которое необходимо клиентам для взаимодействия с приложением. Этот атрибут — удобный способ установить разрешение, которое применяется ко всем компонентам приложения. Он перезаписывается путем установки атрибутов permission отдельных компонентов.

Дополнительные сведения о разрешениях см. в разделе «Разрешения» обзора манифеста приложения и в советах по безопасности .

android:persistent
Будет ли приложение работать постоянно. Это "true" если это так, и "false" если нет. Значение по умолчанию — "false" . Приложения обычно не устанавливают этот флаг. Режим сохранения предназначен только для определенных системных приложений.
android:process
Имя процесса, в котором выполняются все компоненты приложения. Каждый компонент может переопределить это значение по умолчанию, установив свой собственный атрибут process .

По умолчанию Android создает процесс для приложения, когда необходимо запустить первый из его компонентов. Затем все компоненты запускаются в этом процессе. Имя процесса по умолчанию соответствует имени пакета, заданному элементом <manifest> .

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

Если имя, присвоенное этому атрибуту, начинается с двоеточия ( : ), при необходимости создается новый процесс, частный для приложения. Если имя процесса начинается с символа нижнего регистра, создается глобальный процесс с таким именем. Глобальный процесс можно использовать совместно с другими приложениями, что снижает использование ресурсов.

android:restoreAnyVersion
Указывает, что приложение готово попытаться восстановить любой набор данных из резервной копии, даже если резервная копия была сохранена в более новой версии приложения, чем установленная на устройстве в данный момент. Установка для этого атрибута значения "true" позволяет диспетчеру резервного копирования попытаться выполнить восстановление, даже если несоответствие версий предполагает, что данные несовместимы. Используйте с осторожностью!

Значение этого атрибута по умолчанию — "false" .

android:requestLegacyExternalStorage

Указывает, хочет ли приложение отказаться от ограниченного хранилища .

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

android:requiredAccountType
Указывает тип учетной записи, необходимый приложению для работы. Если вашему приложению требуется Account , значение этого атрибута должно соответствовать типу средства аутентификации учетной записи, используемому вашим приложением, как определено AuthenticatorDescription , например "com.google" .

Значение по умолчанию равно нулю и указывает, что приложение может работать без каких-либо учетных записей.

Поскольку профили с ограниченным доступом не могут добавлять учетные записи, указание этого атрибута делает ваше приложение недоступным из профиля с ограниченным доступом, если вы также не объявите android:restrictedAccountType с тем же значением.

Внимание: если данные учетной записи могут раскрыть личную информацию, важно объявить этот атрибут и оставить android:restrictedAccountType null, чтобы профили с ограниченным доступом не могли использовать ваше приложение для доступа к личной информации, принадлежащей пользователю-владельцу.

Этот атрибут был добавлен на уровне API 18.

android:resizeableActivity

Указывает, поддерживает ли приложение многооконный режим . Этот атрибут можно установить либо в элементе <activity> , либо в элементе <application> .

Если вы установите для этого атрибута значение "true" , пользователь сможет запускать действие в режимах разделенного экрана и произвольной формы. Если вы установите для атрибута значение "false" , приложение нельзя будет протестировать или оптимизировать для многооконной среды. Система по-прежнему может перевести действие в многооконный режим с примененным режимом совместимости.

Установка для этого атрибута значения "true" не гарантирует, что на экране не будут видны другие приложения в многооконном режиме, например «картинка в картинке», или на других дисплеях. Таким образом, установка этого флага не означает, что ваше приложение имеет эксклюзивный доступ к ресурсам.

Для приложений, ориентированных на уровень API 24 или выше, значением по умолчанию является "true" .

Если ваше приложение ориентировано на уровень API 31 или выше, этот атрибут работает по-разному на маленьких и больших экранах:

  • Большие экраны (sw >= 600dp): все приложения поддерживают многооконный режим. Атрибут указывает, можно ли изменить размер приложения, а не поддерживает ли приложение многооконный режим. Если resizeableActivity="false" , приложение переводится в режим совместимости, когда необходимо соответствовать размерам дисплея.
  • Маленькие экраны (sw < 600dp): если resizeableActivity="true" и минимальная ширина и минимальная высота основного действия находятся в пределах требований к многооконному режиму, приложение поддерживает многооконный режим. Если resizeableActivity="false" , приложение не поддерживает многооконный режим независимо от минимальной ширины и высоты активности.

Примечание. Производители устройств могут переопределить поведение API уровня 31.

Этот атрибут был добавлен на уровне API 24.

Примечание. Значение корневого действия задачи применяется ко всем дополнительным действиям, запущенным в задаче. То есть, если размер корневого действия задачи можно изменить, то система рассматривает все остальные действия в задаче как изменяемые. Если размер корневого действия не подлежит изменению, размеры других действий в задаче не подлежат изменению.

android:restrictedAccountType
Указывает тип учетной записи, необходимый для этого приложения, и указывает, что профили с ограниченным доступом могут получать доступ к таким учетным записям, принадлежащим пользователю-владельцу. Если вашему приложению требуется Account , а профили с ограниченным доступом могут получать доступ к учетным записям основного пользователя, значение этого атрибута должно соответствовать типу средства проверки подлинности учетной записи, используемому вашим приложением, как определено AuthenticatorDescription , например "com.google" .

Значение по умолчанию равно нулю и указывает, что приложение может работать без каких-либо учетных записей.

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

Этот атрибут был добавлен на уровне API 18.

android:supportsRtl

Указывает, готово ли ваше приложение поддерживать макеты с письмом справа налево (RTL).

Если для этого параметра установлено значение "true" , а targetSdkVersion установлено значение 17 или выше, различные API-интерфейсы RTL активируются и используются системой, чтобы ваше приложение могло отображать макеты RTL. Если для этого параметра установлено значение "false" или для targetSdkVersion установлено значение 16 или ниже, API-интерфейсы RTL игнорируются или не оказывают никакого эффекта, и ваше приложение ведет себя одинаково независимо от направления макета, связанного с выбором локали пользователя. То есть ваши макеты всегда располагаются слева направо.

Значение этого атрибута по умолчанию — "false" .

Этот атрибут был добавлен на уровне API 17.

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

По умолчанию все действия в приложении имеют одну и ту же привязку. Имя этого сходства совпадает с именем пакета, заданным элементом <manifest> .

android:testOnly
Указывает, предназначено ли это приложение только для целей тестирования. Например, он может предоставлять функциональность или данные вне себя, что может вызвать дыру в безопасности, но быть полезным для тестирования. Этот тип APK устанавливается только через adb . Вы не можете опубликовать его в Google Play.

Android Studio автоматически добавляет этот атрибут, когда вы нажимаете «Выполнить». .

android:theme
Ссылка на ресурс стиля, определяющий тему по умолчанию для всех действий в приложении. Отдельные действия могут переопределить значения по умолчанию, установив свои собственные атрибуты theme . Дополнительную информацию см. в разделе Стили и темы .
android:uiOptions
Дополнительные параметры пользовательского интерфейса действия. Должно быть одно из следующих значений:
Ценить Описание
"none" Никаких дополнительных опций пользовательского интерфейса. Это значение по умолчанию.
"splitActionBarWhenNarrow" Добавляет панель внизу экрана для отображения элементов действий на панели приложения , также известной как панель действий , когда пространство ограничено по горизонтали, например, в портретном режиме на телефоне. Вместо небольшого количества элементов действий, отображаемых на панели приложения в верхней части экрана, панель приложения разделяется на верхний раздел навигации и нижнюю панель для элементов действий. Это означает, что достаточно места доступно для элементов действий, а также для элементов навигации и заголовка вверху. Пункты меню не разделены на две панели. Они всегда появляются вместе.

Дополнительные сведения о панели приложения см. в разделе Добавление панели приложения .

Этот атрибут был добавлен на уровне API 14.

android:usesCleartextTraffic
Указывает, намерено ли приложение использовать сетевой трафик в открытом виде, например HTTP в открытом виде. Значение по умолчанию для приложений, ориентированных на уровень API 27 или ниже, — "true" . Приложения, ориентированные на уровень API 28 или выше, по умолчанию имеют значение "false" .

Если для атрибута установлено значение "false" , компоненты платформы, например стеки HTTP и FTP, DownloadManager и MediaPlayer , отклоняют запросы приложения на использование открытого текстового трафика.

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

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

Однако большая часть сетевого трафика от приложений обрабатывается сетевыми стеками и компонентами более высокого уровня, которые могут учитывать этот флаг, читая его из ApplicationInfo.flags или NetworkSecurityPolicy.isCleartextTrafficPermitted() .

Примечание. WebView учитывает этот атрибут для приложений, ориентированных на уровень API 26 и выше.

Во время разработки приложения StrictMode можно использовать для идентификации любого трафика открытого текста из приложения. Дополнительные сведения см. StrictMode.VmPolicy.Builder.detectCleartextNetwork() .

Этот атрибут был добавлен на уровне API 23.

Этот флаг игнорируется в Android 7.0 (уровень API 24) и более поздних версиях, если присутствует конфигурация сетевой безопасности Android.

android:vmSafeMode
Указывает, хочет ли приложение, чтобы виртуальная машина (ВМ) работала в безопасном режиме. Значение по умолчанию — "false" .

Этот атрибут был добавлен на уровне API 8, где значение "true" отключало JIT-компилятор Dalvik.

Этот атрибут был адаптирован на уровне API 22, где значение "true" отключало упреждающий компилятор ART (AOT).

представлено в:
API уровня 1
см. также:
<activity>
<service>
<receiver>
<provider>
,
синтаксис:
<application android:allowTaskReparenting=["true" | "false"]
             android:allowBackup=["true" | "false"]
             android:allowClearUserData=["true" | "false"]
             android:allowCrossUidActivitySwitchFromBelow=["true" | "false"]
             android:allowNativeHeapPointerTagging=["true" | "false"]
             android:appCategory=["accessibility" | "audio" | "game" |
             "image" | "maps" | "news" | "productivity" | "social" | "video"]
             android:backupAgent="string"
             android:backupInForeground=["true" | "false"]
             android:banner="drawable resource"
             android:dataExtractionRules="string resource"
             android:debuggable=["true" | "false"]
             android:description="string resource"
             android:enabled=["true" | "false"]
             android:extractNativeLibs=["true" | "false"]
             android:fullBackupContent="string"
             android:fullBackupOnly=["true" | "false"]
             android:gwpAsanMode=["always" | "never"]
             android:hasCode=["true" | "false"]
             android:hasFragileUserData=["true" | "false"]
             android:hardwareAccelerated=["true" | "false"]
             android:icon="drawable resource"
             android:isGame=["true" | "false"]
             android:isMonitoringTool=["parental_control" | "enterprise_management" |
             "other"]
             android:killAfterRestore=["true" | "false"]
             android:largeHeap=["true" | "false"]
             android:label="string resource"
             android:logo="drawable resource"
             android:manageSpaceActivity="string"
             android:name="string"
             android:networkSecurityConfig="xml resource"
             android:permission="string"
             android:persistent=["true" | "false"]
             android:process="string"
             android:restoreAnyVersion=["true" | "false"]
             android:requestLegacyExternalStorage=["true" | "false"]
             android:requiredAccountType="string"
             android:resizeableActivity=["true" | "false"]
             android:restrictedAccountType="string"
             android:supportsRtl=["true" | "false"]
             android:taskAffinity="string"
             android:testOnly=["true" | "false"]
             android:theme="resource or theme"
             android:uiOptions=["none" | "splitActionBarWhenNarrow"]
             android:usesCleartextTraffic=["true" | "false"]
             android:vmSafeMode=["true" | "false"] >
    . . .
</application>
содержится в:
<manifest>
может содержать:
<activity>
<activity-alias>
<meta-data>
<service>
<receiver>
<profileable>
<provider>
<uses-library>
<uses-native-library>
описание:

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

Многие из этих атрибутов, такие как icon , label , permission , process , taskAffinity и allowTaskReparenting , устанавливают значения по умолчанию для соответствующих атрибутов элементов компонента. Другие, такие как debuggable , enabled , description allowClearUserData , устанавливают значения для приложения в целом и не переопределяются компонентами.

атрибуты
android:allowTaskReparenting
Могут ли действия, определенные приложением, перейти от задачи, которая их запустила, к задаче, к которой они имеют отношение, когда эта задача в следующий раз будет вынесена на передний план. Это "true" если они могут двигаться, и "false" , если они должны оставаться на той задаче, с которой начали. Значение по умолчанию — "false" .

Элемент <activity> имеет собственный allowTaskReparenting , который может переопределять установленное здесь значение.

android:allowBackup

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

Примечание. Для приложений, предназначенных для Android 12 (уровень API 31) или выше, такое поведение может быть разным. На устройствах некоторых производителей вы не можете отключить миграцию файлов вашего приложения с устройства на устройство.

Однако вы можете отключить резервное копирование и восстановление файлов вашего приложения в облаке, установив для этого атрибута значение "false" , даже если ваше приложение предназначено для Android 12 (уровень API 31) или выше.

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

android:allowClearUserData

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

Примечание. Только приложения, являющиеся частью образа системы, могут явно объявлять этот атрибут. Сторонние приложения не могут включать этот атрибут в свои файлы манифеста.

Дополнительную информацию см. в разделе Обзор резервного копирования данных .

android:allowCrossUidActivitySwitchFromBelow

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

Начиная с уровня Target SDK Level Build.VERSION_CODES.VANILLA_ICE_CREAM , приложениям может быть запрещено начинать новые действия или завершать свою задачу, если только главное действие такой задачи не принадлежит тому же UID по соображениям безопасности.

Установка этого флага в значение true позволит запускающему приложению игнорировать ограничение, если это действие находится сверху. Приложения, соответствующие UID этого действия, всегда освобождаются от налога.

Дополнительные сведения см. в разделе Запуск защищенных фоновых действий .

android:allowNativeHeapPointerTagging

Включает ли приложение функцию маркировки указателя кучи. Значением этого атрибута по умолчанию является "true" .

Примечание. Отключение этой функции не решает основную проблему работоспособности кода. Будущие аппаратные устройства могут не поддерживать этот тег манифеста.

Дополнительные сведения см. в разделе Тегированные указатели .

android:appCategory

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

Должно быть одно из следующих постоянных значений.

Ценить Описание
accessibility Приложения, которые в основном предназначены для специальных возможностей, например программы чтения с экрана.
audio Приложения, которые в основном работают со звуком или музыкой, например музыкальные проигрыватели.
game Приложения, которые в основном представляют собой игры.
image Приложения, которые в основном работают с изображениями или фотографиями, например приложения камеры или галереи.
maps Приложения, которые в основном представляют собой картографические приложения, например навигационные приложения.
news Приложения, которые в основном представляют собой новостные приложения, например газеты, журналы или спортивные приложения.
productivity Приложения, которые в основном предназначены для повышения производительности, например облачные хранилища или приложения для рабочего места.
social Приложения, которые в основном представляют собой социальные приложения, например приложения для обмена сообщениями, общения, электронной почты или социальных сетей.
video Приложения, которые в основном работают с видео или фильмами, например приложения для потокового видео.

android:backupAgent
Имя класса, реализующего агент резервного копирования приложения, подкласс BackupAgent . Значением атрибута является полное имя класса, например "com.example.project.MyBackupAgent" . Однако в качестве сокращения, если первым символом имени является точка, например ".MyBackupAgent" , она добавляется к имени пакета, указанному в элементе <manifest> .

По умолчанию нет. Имя должно быть конкретным.

android:backupInForeground
Указывает, что операции автоматического резервного копирования можно выполнять в этом приложении, даже если приложение находится в состоянии, эквивалентном переднему плану. Система закрывает приложение во время операции автоматического резервного копирования, поэтому используйте этот атрибут с осторожностью. Установка для этого флага значения "true" может повлиять на поведение приложения, пока оно активно.

Значение по умолчанию — "false" , что означает, что ОС избегает резервного копирования приложения, пока оно работает на переднем плане, например музыкального приложения, которое активно воспроизводит музыку с помощью службы в состоянии startForeground() .

android:banner
Рисуемый ресурс , предоставляющий расширенный графический баннер для связанного с ним элемента. Используйте с тегом <application> , чтобы предоставить баннер по умолчанию для всех действий приложения, или с тегом <activity> , чтобы предоставить баннер для определенного действия.

Система использует баннер для представления приложения на главном экране Android TV. Поэтому указывайте это только для приложений с действием, которое обрабатывает намерение CATEGORY_LEANBACK_LAUNCHER .

Этот атрибут устанавливается как ссылка на ресурс, содержащий изображение, например "@drawable/banner" . Баннера по умолчанию нет.

Дополнительную информацию см. в разделе Предоставление баннера на главном экране .

android:dataExtractionRules

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

Информацию о формате XML-файла см. в разделе Резервное копирование и восстановление .

android:debuggable
Можно ли отлаживать приложение даже при запуске на устройстве в пользовательском режиме. Оно "true" если может быть, и "false" если нет. Значение по умолчанию — "false" .
android:description
Читаемый пользователем текст о приложении, который длиннее и более информативен, чем метка приложения. Значение устанавливается как ссылка на строковый ресурс. В отличие от метки, это не может быть необработанная строка. Значения по умолчанию нет.
android:enabled
Может ли система Android создавать экземпляры компонентов приложения. Это "true" если может, и "false" если нет. Если значение равно "true" , атрибут enabled каждого компонента определяет, включен ли этот компонент. Если значение равно "false" , оно переопределяет значения, специфичные для компонента, и все компоненты отключаются.

Значение по умолчанию — "true" .

android:extractNativeLibs

Начиная с AGP 4.2.0, параметр DSL useLegacyPackaging заменяет атрибут манифеста extractNativeLibs . Используйте useLegacyPackaging в файле build.gradle вашего приложения вместо extractNativeLibs в файле манифеста, чтобы настроить поведение сжатия собственной библиотеки. Дополнительные сведения см. в примечаниях к выпуску. Используйте DSL для упаковки сжатых собственных библиотек .

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

Значение по умолчанию extractNativeLibs зависит от minSdkVersion и версии AGP, которую вы используете. В большинстве случаев поведение по умолчанию, вероятно, является тем, что вы хотите, и вам не нужно явно устанавливать этот атрибут.

android:fullBackupContent
Этот атрибут указывает на XML -файл, который содержит полные правила резервного копирования для авто резервного копирования . Эти правила определяют, какие файлы получают резервное копирование. Для получения дополнительной информации см. Синтаксис конфигурации XML для автоматической резервной копии.

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

android:fullBackupOnly
Этот атрибут указывает, использовать ли автозаборный резерв на устройствах, где он доступен. Если установить на "true" , то ваше приложение выполняет автоматическую резервную копию при установке на устройстве под управлением Android 6.0 (API -уровень 23) или выше. На более старых устройствах ваше приложение игнорирует этот атрибут и выполняет резервные копии ключей/значения .

Значение по умолчанию — "false" .

android:gwpAsanMode
Этот атрибут указывает, использовать ли GWP-ASAN , нативную функцию распределителя памяти, которая помогает найти ошибки без использования и блюд с кучей.

Значение по умолчанию - "never" .

android:hasCode
Содержит ли приложение какой -либо код DEX, то есть код с использованием языка программирования Kotlin или Java. Это "true" если это так, и "false" если нет. Когда значение является "false" , система не пытается загрузить какой -либо код приложения при запуске компонентов. Значение по умолчанию "true" .

Если приложение включает в себя собственный (C/C ++) код, но нет кода DEX, это должно быть установлено на "false" . Если установить на "true" когда APK не содержит кода DEX, приложение может не загружаться.

Это свойство должно учитывать код, включенный в приложение с помощью зависимостей. Если приложение зависит от AAR, который использует код Java/Kotlin или непосредственно на JAR, app:hasCode должен быть "true" или опущен, поскольку это по умолчанию.

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

android:hasFragileUserData
Показать пользователю подсказку, чтобы сохранить данные приложения, когда пользователь удаляет приложение. Значение по умолчанию — "false" .
android:hardwareAccelerated
Будет ли аппаратное ускорение рендеринг включен для всех действий и представлений в этом приложении. Это "true" если он включен, и "false" если нет. Значение по умолчанию является "true" если вы устанавливаете либо minSdkVersion , либо targetSdkVersion "14" или выше. В противном случае это "false" .

Начиная с Android 3.0 (API-уровни 11), приложения для повышения производительности для многих общих 2D-графических операций доступны для повышения производительности для многих общих 2D-графических операций. Когда включен аппаратный рендеринг, большинство операций в холсте, краске, Xfermode, Colorfilter, Shader и камере ускоряются.

Это приводит к более плавной анимации, более плавной прокрутке и улучшению отзывчивости, даже для приложений, которые явно не используют библиотеки OpenGL Framewry.

Не все операции OpenGL 2D ускоряются. Если вы включите аппаратный рендеринг, протестируйте свое приложение, чтобы оно могло использовать рендеринг без ошибок.

Для получения дополнительной информации прочитайте Руководство по ускорению оборудования .

android:icon
Значок для приложения как целый и значок по умолчанию для каждого из компонентов приложения. См. Индивидуальные атрибуты icon для элементов <activity> , <activity-alias> , <service> , <receiver> и <provider> .

Этот атрибут устанавливается как ссылка на ресурс нарисованного, содержащий изображение, например "@drawable/icon" . Там нет значка по умолчанию.

android:isGame
Является ли приложение игрой. Система может группировать приложения, классифицированные как игры, или отображать их отдельно от других приложений. По умолчанию "false" .
android:isMonitoringTool

Указывает, что это приложение предназначено для мониторинга других людей.

Примечание. Если приложение объявляет этот атрибут в своем манифесте, разработчик должен следовать политике Stalkerware , чтобы опубликовать приложение в Google Play.

Значения по умолчанию нет. Разработчик должен указать одно из следующих значений:

Ценить Описание
"parental_control" APP обслуживает родительский контроль и специально предназначен для родителей, которые хотят обеспечить безопасность своих детей.
"enterprise_management" APP обслуживает предприятия, которые хотят управлять и отслеживать устройства, предоставляемые сотрудникам.
"other" Приложение обслуживает вариант использования, не указанный в этой таблице.
android:killAfterRestore

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

По умолчанию "true" , что означает, что после того, как приложение завершает обработку своих данных во время полноценного восстановления, оно завершается.

android:largeHeap

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

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

Чтобы запросить доступный размер памяти во время выполнения, используйте методы getMemoryClass() или getLargeMemoryClass() .

android:label
Читаемый пользователь метка для приложения в целом и метка по умолчанию для каждого из компонентов приложения. См. Индивидуальные атрибуты label для элементов <activity> , <activity-alias> , <service> , <receiver> и <provider> .

Метка установлена ​​в качестве ссылки на строковый ресурс, так что она может быть локализована, как и другие строки в пользовательском интерфейсе. Однако, как удобство, когда вы разрабатываете приложение, его также можно установить как необработанную строку.

android:logo
Логотип для приложения как целый и логотип по умолчанию для действий. Этот атрибут устанавливается как ссылка на ресурс, содержащий изображение, такое как "@drawable/logo" . Там нет логотипа по умолчанию.
android:manageSpaceActivity
Полностью квалифицированное название подкласса Activity , которую система запускает, чтобы пользователи управляли памятью, занятой приложением на устройстве. Деятельность также объявлена ​​элементом <activity> .
android:name
Полностью квалифицированное имя подкласса Application , реализованное для приложения. Когда процесс подачи заявления запускается, этот класс создается перед каким -либо из компонентов приложения.

Подкласс не является обязательным. Большинству приложений не нужно. В отсутствие подкласса Android использует экземпляр базового класса Application .

android:networkSecurityConfig

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

Этот атрибут был добавлен на уровне API 24.

android:permission
Название разрешения, которое нужно клиентам, чтобы взаимодействовать с приложением. Этот атрибут является удобным способом установить разрешение, которое применяется ко всем компонентам приложения. Он перезаписан путем установки атрибутов permission отдельных компонентов.

Для получения дополнительной информации о разрешениях см. В разделе «Разрешения» в обзоре Manifest App Manifest и советах по безопасности .

android:persistent
Остается ли приложение всегда работать. Это "true" если это так, и "false" если нет. Значение по умолчанию — "false" . Приложения обычно не устанавливают этот флаг. Режим устойчивости предназначен только для определенных системных приложений.
android:process
Название процесса, в котором запускаются все компоненты приложения. Каждый компонент может переопределить этот по умолчанию, установив свой собственный атрибут process .

По умолчанию Android создает процесс для приложения, когда первый из его компонентов должен работать. Все компоненты затем работают в этом процессе. Имя процесса по умолчанию соответствует имени пакета, установленным элементом <manifest> .

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

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

android:restoreAnyVersion
Указывает, что приложение готово к попытке восстановления любого набора данных резервного копирования, даже если резервное копирование хранилось более новой версией приложения, чем в настоящее время установлено на устройстве. Установка этого атрибута на "true" позволяет менеджеру резервного копирования попытаться восстановить, даже когда несоответствие версии предполагает, что данные несовместимы. Используйте с осторожностью!

Значение по умолчанию этого атрибута - "false" .

android:requestLegacyExternalStorage

Хочет ли приложение отказаться от хранилища .

ПРИМЕЧАНИЕ.

android:requiredAccountType
Указывает тип учетной записи, требуемый приложением для функции. Если ваше приложение требует Account , значение для этого атрибута должно соответствовать типу аутентификатора учетной записи, используемого вашим приложением, как определено AuthenticatorDescription , таким как "com.google" .

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

Поскольку ограниченные профили не могут добавить учетные записи, указание этого атрибута делает ваше приложение недоступным из ограниченного профиля, если вы также не объявите android:restrictedAccountType с тем же значением.

Внимание: если данные учетной записи могут раскрыть личную информацию, важно, чтобы вы объявили этот атрибут и оставили android:restrictedAccountType null, чтобы ограниченные профили не могли использовать ваше приложение для доступа к личной информации, которая принадлежит пользователю владельца.

Этот атрибут был добавлен на уровне API 18.

android:resizeableActivity

Определяет, поддерживает ли приложение режим с несколькими Window . Вы можете установить этот атрибут в элементе <activity> или <application> .

Если вы установите этот атрибут на "true" , пользователь может запустить деятельность в режимах разделенного экрана и свободной формы. Если вы установите атрибут "false" , приложение не может быть проверено или оптимизировано для мульти-окна. Система все еще может поместить активность в режиме с несколькими окнами с применением режима совместимости.

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

Для приложений, нацеленных на уровень API 24 или выше, по умолчанию "true" .

Если ваше приложение нацелено на уровень API 31 или выше, этот атрибут работает по -разному на малых и больших экранах:

  • Большие экраны (SW> = 600DP): все приложения поддерживают многолютный режим. Атрибут указывает, можно ли изменять приложение, а не то, поддерживает ли приложение режим нескольких Window. Если resizeableActivity="false" , приложение помещается в режим совместимости, когда это необходимо, чтобы соответствовать размеру размеров.
  • Небольшие экраны (SW <600DP): если resizeableActivity="true" и минимальная ширина и минимальная высота основной деятельности находятся в пределах требований к мульти-окнам, приложение поддерживает режим мульти-окна. Если resizeableActivity="false" , приложение не поддерживает режим мульти-окна независимо от минимальной ширины и высоты активности.

Примечание. Производители устройств могут переопределить поведение уровня API 31.

Этот атрибут был добавлен на уровне API 24.

ПРИМЕЧАНИЕ. Значение корневой активности задачи применяется ко всем дополнительным действиям, запущенным в задаче. То есть, если корневая активность задачи является изменяемой, то система рассматривает все другие действия в задаче как определяемые. Если корневая деятельность не является изменяемой, другие действия в задаче не являются изменчивыми.

android:restrictedAccountType
Указывает тип учетной записи, требуемый этим приложением, и указывает, что ограниченные профили могут получить доступ к таким учетным записям, которые принадлежат пользователю владельца. Если ваше приложение требует Account , а ограниченные профили могут получить доступ к учетным записям основного пользователя, значение для этого атрибута должно соответствовать типу аутентификатора учетной записи, используемого вашим приложением, как определено AuthenticatorDescription , таким как "com.google" .

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

Осторожность: указание этого атрибута Let Legted Profiles использовать ваше приложение с учетными записями, которые принадлежат пользователю владельца, что может раскрыть личную информацию. Если учетная запись может раскрыть личные данные, не используйте этот атрибут. Вместо этого объявите атрибут android:requiredAccountType , чтобы сделать ваше приложение недоступным для ограниченных профилей.

Этот атрибут был добавлен на уровне API 18.

android:supportsRtl

Объявляет, готова ли ваше заявление поддержать макеты правого налеги (RTL).

Если для этого параметра установлено значение "true" , а targetSdkVersion установлено значение 17 или выше, различные API-интерфейсы RTL активируются и используются системой, чтобы ваше приложение могло отображать макеты RTL. Если это установлено для "false" или если targetSdkVersion установлен в 16 или ниже, API RTL игнорируются или не имеют эффекта, и ваше приложение ведет себя так же независимо от направления макета, связанного с выбором локали пользователя. То есть ваши макеты всегда остаются вправо.

Значение по умолчанию этого атрибута - "false" .

Этот атрибут был добавлен на уровне API 17.

android:taskAffinity
Имя аффинности, которое применяется ко всем действиям в приложении, за исключением тех, которые устанавливают другую близость со своими собственными атрибутами taskAffinity . Смотрите этот атрибут для получения дополнительной информации.

По умолчанию все действия в рамках приложения имеют одинаковую близость. Название этого сродства такое же, как и имя пакета, установленное элементом <manifest> .

android:testOnly
Указывает, является ли это приложение только в целях тестирования. Например, он может разоблачить функциональность или данные вне себя, которые могут вызвать дыру в безопасности, но быть полезным для тестирования. Этот вид APK устанавливается только через adb . Вы не можете опубликовать его в Google Play.

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

android:theme
Ссылка на ресурс стиля, определяющий тему по умолчанию для всех действий в приложении. Индивидуальные действия могут переопределить по умолчанию, установив свои собственные атрибуты theme . Для получения дополнительной информации см. Стили и темы .
android:uiOptions
Дополнительные варианты для пользовательского интерфейса деятельности. Должен быть одно из следующих значений:
Ценить Описание
"none" Нет дополнительных вариантов пользовательского интерфейса. Это дефолт.
"splitActionBarWhenNarrow" Добавляет панель в нижней части экрана, чтобы отображать элементы действия в панели приложений , также известную как панель действий , когда он ограничен для горизонтального пространства, например, в портретном режиме на телефоне. Вместо небольшого количества элементов действий, появляющихся в панели приложений в верхней части экрана, панель приложений разбивается в верхнюю секцию навигации и нижнюю панель для элементов действий. Это означает, что для элементов действия доступно разумное количество места и элементы навигации и заголовка вверху. Пункты меню не разделены по двум барам. Они всегда появляются вместе.

Для получения дополнительной информации о панели приложений см. Добавьте панель приложений .

Этот атрибут был добавлен на уровне API 14.

android:usesCleartextTraffic
Указывает, намеревается ли приложение использовать сетевой трафик ClearText, такой как CLEXTEXT HTTP. Значение по умолчанию для приложений, которые нацелены на уровень API 27 или ниже, является "true" . Приложения, которые нацелены на уровень API 28 или выше по умолчанию, "false" .

Когда атрибут устанавливается на "false" , компоненты платформы, например, стеки HTTP и FTP, DownloadManager и MediaPlayer , отказываются от запросов приложения использовать ClareText Traff.

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

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

Тем не менее, большинство сетевых трафиков из приложений обрабатывается сетевыми стеками и компонентами более высокого уровня, которые могут соблюдать этот флаг, читая его из ApplicationInfo.flags или NetworkSecurityPolicy.isCleartextTrafficPermitted() .

ПРИМЕЧАНИЕ. WebView чтит этот атрибут для приложений, нацеленных на уровень API 26 и выше.

Во время разработки приложений строгоймода может использоваться для идентификации любого клирентного трафика из приложения. Для получения дополнительной информации см. StrictMode.VmPolicy.Builder.detectCleartextNetwork() .

Этот атрибут был добавлен на уровне API 23.

Этот флаг игнорируется на Android 7.0 (API -уровне 24) и выше, если присутствует конфигурация безопасности сети Android.

android:vmSafeMode
Указывает, хочет ли приложение виртуальную машину (VM) работать в безопасном режиме. Значение по умолчанию — "false" .

Этот атрибут был добавлен на уровне API 8, где значение "true" отключило компилятор Dalvik Just In-Time (JIT).

Этот атрибут был адаптирован на уровне API 22, где значение "true" отключило искусство заранее (AOT) компилятора.

введено в:
API Уровень 1
Смотрите также:
<activity>
<service>
<receiver>
<provider>