AndroidManifest.xml 是 Android 应用的核心配置文件,位于 app/src/main/ 目录下,用于声明应用基本信息、四大组件、权限、设备兼容性及全局配置。它以 为根标签,包含 package(唯一包名)、versionCode 和 versionName 等属性。所有 Activity、Service、BroadcastReceiver 和 ContentProvider 必须在其中显式注册,例如通过 标签声明启动页,并设置 intent-filter 实现应用入口。敏感权限如相机、位置需通过 声明,且从 Android 6.0 起部分权限还需运行时申请。通过 定义 minSdkVersion 和 targetSdkVersion 控制兼容范围, 可限制硬件要求,如摄像头。 标签配置全局属性,如图标、名称、主题和是否支持备份。intent-filter 支持组件通信,可响应外部 Intent,如打开特定网页链接。正确配置该文件对应用行为、安全性和兼容性至关重要。

AndroidManifest.xml 是每个 Android 应用都必须具备的核心配置文件,它位于项目的 app/src/main/ 目录下。这个文件向系统声明了应用的基本信息,包括组件、权限、设备兼容性等。系统在安装和运行应用时,首先读取该文件以了解应用的结构与需求。
应用基本信息声明
在
常用属性:
- package:应用的唯一包名,如 com.example.myapp
- android:versionCode:内部版本号,整数,用于升级判断
- android:versionName:对外显示的版本名称,如 "1.0.0"
示例:
android:versionCode="1"
android:versionName="1.0">
四大组件注册
所有 Activity、Service、BroadcastReceiver 和 ContentProvider 都必须在 Manifest 中显式声明,否则系统无法识别。
Activity 示例:
android:exported="true"
android:label="主界面">
说明:
- android:name:组件类名,. 开头表示当前包下
- android:exported:是否允许外部调用,启动页通常设为 true
- intent-filter:定义组件可响应的意图,MAIN + LAUNCHER 表示应用入口
Service 注册示例:
权限声明与请求
应用若需访问敏感资源(如相机、位置、存储),必须在 Manifest 中声明权限。
示例:
注意:从 Android 6.0(API 23)起,部分权限还需在运行时动态申请,仅在 Manifest 声明不够。
设备兼容性与功能支持
通过
uses-sdk 示例:
android:targetSdkVersion="34" />
- minSdkVersion:最低支持的 Android 版本
- targetSdkVersion:目标版本,影响系统对新特性的行为控制
限制硬件功能:
若 required 为 true,不具备摄像头的设备将无法安装此应用。
Application 全局配置
常见属性:
- android:icon:应用图标
- android:label:应用名称
- android:theme:全局主题样式
- android:allowBackup:是否允许备份数据(建议设为 false 保障安全)
- android:supportsRtl:是否支持从右到左语言布局
示例:
android:label="@string/app_name"
android:theme="@style/AppTheme"
android:allowBackup="false">
...
Intent 过滤与组件通信
通过
网页链接打开示例:
此配置使应用能响应打开 https://www.example.com 的点击事件。
基本上就这些关键内容。掌握 AndroidManifest.xml 的结构和常用标签,能有效控制应用行为、提升兼容性和安全性。不复杂但容易忽略细节,比如 exported 属性默认值随版本变化,需特别留意。










