Что такое Manifest.xml в .apk файле и какие данные там указывают?
AndroidManifest.xml — это основной конфигурационный файл Android-приложения. Он описывает структуру приложения, его компоненты и права доступа, необходимые системе для корректного запуска и взаимодействия.
Файл обязательно присутствует в каждом .apk и считывается системой до установки и запуска приложения.
Основные задачи AndroidManifest.xml
AndroidManifest.xmlОпределяет идентичность и структуру приложения.
Сообщает системе, какие компоненты входят в приложение (activity, service и т.д.).
Указывает разрешения, необходимые приложению.
Определяет минимальные требования (версию Android, используемые библиотеки).
Задает точку входа — activity, которая открывается при запуске.
Структура и ключевые теги
1. <manifest>
<manifest>Корневой элемент, содержит базовую информацию:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.myapp"
android:versionCode="3"
android:versionName="1.2.1">package— уникальный идентификатор приложения.versionCode— технический номер версии (для обновлений).versionName— отображаемая версия.
2. <uses-sdk>
<uses-sdk>Минимальная и целевая версия Android:
<uses-sdk
android:minSdkVersion="21"
android:targetSdkVersion="34" />3. <uses-permission>
<uses-permission>Права, запрашиваемые приложением:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />4. <application>
<application>Описывает само приложение и его компоненты:
<application
android:label="@string/app_name"
android:icon="@mipmap/ic_launcher"
android:theme="@style/AppTheme">5. <activity>
<activity>Каждый экран (Activity) описывается отдельно:
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>Здесь определяется точка входа (
MAIN+LAUNCHER).
6. <service>, <receiver>, <provider>
<service>, <receiver>, <provider>Определяют фоновые компоненты:
<service android:name=".SyncService" />
<receiver android:name=".AlarmReceiver" />
<provider android:name=".DatabaseProvider" />7. <meta-data>
<meta-data>Дополнительные данные (например, ключи API):
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="@string/google_maps_key" />Что важно тестировщику
Проверить наличие нужных разрешений (например,
INTERNET,CAMERA).Проверить main activity — правильно ли настроен запуск приложения.
Убедиться, что нет лишних экспортируемых компонентов (
android:exported="true"), создающих риски безопасности.Сверить minSdkVersion/targetSdkVersion с заявленной поддержкой устройства.
Итог:
AndroidManifest.xml — это “паспорт” Android-приложения, в котором описываются компоненты, разрешения, версии, зависимости и параметры запуска, обеспечивая корректную интеграцию приложения с системой.
Last updated
Was this helpful?