Файл манифеста приложения | Android
Каждый проект в Android включает файл манифеста, которым является AndroidManifest.xml , который хранится в корневом каталоге его иерархии проектов. Файл манифеста является важной частью нашего приложения, поскольку он определяет структуру и метаданные нашего приложения, его компонентов и требований.
Этот файл включает в себя узлы для каждого из Activity, Services, Content Provider и Broadcast Receiver, которые создают приложение и, используя фильтры намерений и разрешения, определяют, как они координируются друг с другом и другими приложениями.
Файл манифеста также определяет метаданные приложения, которые включают его значок, номер версии, темы и т. Д., А дополнительные узлы верхнего уровня могут указывать любые требуемые разрешения, модульные тесты и определять требования к оборудованию, экрану или платформе.
Манифест состоит из корневого тега манифеста с атрибутом пакета, установленным для пакета проекта. Он также должен включать атрибут xmls: android , который предоставит несколько системных атрибутов, используемых в файле.
Мы используем атрибут versionCode, который используется для определения текущей версии приложения в виде целого числа, которое увеличивается с итерацией версии из-за обновления. Кроме того, атрибут versionName используется для указания общедоступной версии, которая будет отображаться пользователям.
Мы также можем указать, должно ли наше приложение устанавливаться на SD-карту внутренней памяти, используя атрибут installLocation.
Мы также можем указать, должно ли наше приложение устанавливаться на SD-карту внутренней памяти, используя атрибут installLocation.
Типичный узел манифеста выглядит так:
package = "com.paad.myapp" android:versionCode = "1" android:versionName = "0.9 Beta" android:installLocation = "preferExternal" > [....manifest nodes....] </ manifest > |
Файл манифеста включает узлы, которые определяют компоненты приложения, параметры безопасности, классы тестирования и требования, составляющие приложение. В основном используются следующие теги подузлов манифеста:
- uses-sdk - используется для определения минимальной и максимальной версии SDK, которая должна быть доступна на устройстве, чтобы наше приложение работало должным образом, и целевого SDK, для которого оно было разработано, с использованием комбинации атрибутов minSdkVersion, maxSdkVersion и targetSdkVersion, соответственно.
<
uses-sdk
android:minSdkVersion=”6”
android:targetSdkVersion=”15”/>
- uses-configuration - узлы uses-configuration используются для указания комбинации механизмов ввода, которые поддерживаются нашим приложением. Это полезно для игр, требующих определенных элементов управления вводом.
<uses-configuration android:reqTouchScreen=”finger”
android:reqNavigation=”trackball”
android:reqHardKeyboard=”
true
”
android:reqKeyboardType=”qwerty”/>
<uses-configuration android:reqTouchScreen=”finger”
android:reqNavigation=”trackball”
android:reqHardKeyboard=”
true
”
android:reqKeyboardType=”twelvekey”/>
- uses-features - используется, чтобы указать, какие аппаратные функции требуются вашему приложению. Это предотвратит установку нашего приложения на устройство, которое не включает в себя необходимое оборудование, такое как оборудование NFC, а именно:
<uses-feature android:name=”android.hardware.nfc”/>
- supports- screen - используется для описания поддержки экрана для нашего приложения:
<supports-screens android:smallScreens=”
false
”
android:normalScreens=”
true
”
android:largeScreens=”
true
”
android:xlargeScreens=”
true
”/>
- разрешение - используется для создания разрешений для ограничения доступа к общим компонентам приложения. Мы также можем использовать существующие разрешения платформы для этой цели или определить ваши собственные разрешения в манифесте.
<permission android: name=”com.paad.DETONATE_DEVICE”
android:protectionLevel=“dangerous”
android:label=”Self Destruct”
android:description=”@string/detonate_description”>
</permission>
- приложение - манифест может содержать только один узел приложения. Он использует атрибуты для указания метаданных для вашего приложения (включая его заголовок, значок и тему). Во время разработки мы должны включить атрибут debuggable, для которого установлено значение true, чтобы включить отладку, а затем обязательно отключите его для ваших сборок выпуска.
Узел приложения также действует как контейнер для узлов Activity, Service, Content Provider и Broadcast Receiver, которые определяют компоненты приложения. Имя нашего пользовательского класса приложения можно указать с помощью атрибута android: name.<application android:icon=
"@drawable/icon"
android:logo-
"@drawable/logo"
android:theme=
"@android:style/Theme.Light"
android:name=
".MyApplicationClass"
android:debuggable=
"true"
>
[....application nodes.....]
</application>
Ссылки: https://developer.android.com/guide/topics/manifest/manifest-intro.html