AndroidManifest – уникальный информационный файл приложения, который в последующем будет использоваться операционной системой и Google play.

Где найти манифест?
AndroidManifest.xml находится в корне исходного набора проекта: src/main.


Для чего манифест?
Основные назначения манифеста:

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

Также манифест может содержать другие менее известные вещи: Intent-фильтры, иконку приложения, список библиотек, с которыми связано приложение и т.д.


Как выглядит обычная структура манифеста?

<manifest>

    <uses-permission />
    <uses-sdk />

    <application>

        <activity>
            <intent-filter>
                <action />
                <category />
                <data />
            </intent-filter>
            <meta-data />
        </activity>

        <service>
            <intent-filter></intent-filter>
            <meta-data />
        </service>

        <receiver>
            <intent-filter></intent-filter>
            <meta-data />
        </receiver>

        <provider>
            <grant-uri-permission />
            <meta-data />
            <path-permission />
        </provider>

    </application>

</manifest>


Обязательными элементами являются только лишь manifest и application. При этом, данные элементы можно указать только один раз.

Почему мы должны добавлять в манифест Android-компоненты?
Разберём на примере Activity. Если посмотреть на структуру манифеста, можно заметить тэг intent-filter. Говоря простыми словами, внутри intent-filter находится информация для операционной системы о том, является ли Activity точкой входа в приложение, сможет ли Activity запускаться из браузера и т.п. Кроме того, в манифесте можно указать тип запуска Activity, может ли Activity быть запущена другими приложениями и т.д. Исходя из этого можно сделать вывод, что добавлять Android-компоненты в манифест нужно:

  • для информирования системы о том, сколько компонентов в приложении, что каждый из них делает. Представьте, насколько сложно было бы системе сканировать весь apk, чтобы найти там каждый из Android-компонентов?
  • для корректного доступа к компоненту
  • для настроек компонента

Добавить комментарий

Имя (обязательное)
Сайт
Защитный код
Обновить