AndroidManifest.xml是Android应用的核心配置文件,位于app/src/main/目录下,用于声明应用基本信息、组件、权限及兼容性设置。1. 在标签中指定包名作为唯一标识;在中设置android:label(应用名称)、android:icon(图标)、android:theme(主题)等全局属性。2. 四大组件需显式声明:定义界面,启动页配置MAIN和LAUNCHER intent-filter;用于后台服务;接收广播;实现数据共享,通过android:exported控制组件是否可被外部访问。3. 权限管理方面,使用申请敏感权限如相机、定位;可通过定义自定义权限并应用于组件以增强安全控制。4. 其他关键配置包括:设定minSdkVersion和targetSdkVersion以保证兼容性;声明硬件依赖;通过android:name指定自定义Application类进行全局初始化。合理配置AndroidManifest.xml有助于提升应用安全性、兼容性和用户体验,避免权限滥用或组件暴露风险。
AndroidManifest.xml 是 Android 应用的核心配置文件,位于项目的 app/src/main/ 目录下。它向系统声明了应用的基本信息,是每个 Android 应用必不可少的组成部分。系统在安装、运行和管理应用时,都依赖此文件中的声明内容。
1. 声明应用基本信息
在
在 标签内,可以设置应用的全局属性:
- android:label:应用显示名称
- android:icon:应用图标资源
- android:theme:应用默认主题
- android:allowBackup:是否允许备份数据
- android:supportsRtl:是否支持从右到左语言布局
示例:
android:name=".MyApplication"android:label="@string/app_name"
android:icon="@mipmap/ic_launcher"
android:theme="@style/AppTheme">
2. 声明组件(四大组件)
Android 的四大组件必须在 Manifest 中显式声明,否则系统无法识别。
Activity 声明:每个 Activity 都需要一个 标签。启动页需配置 Intent Filter:
Service 声明:
用于后台任务,如音乐播放、网络请求等:
Receiver 声明:
接收系统广播,例如开机启动、电量变化:
用于应用间数据共享:
android:authorities="com.example.myapp.provider"
android:exported="false" />
3. 权限管理
应用若需访问敏感功能(如相机、位置、存储等),必须声明权限。
请求权限:供其他应用调用本应用组件时使用:
android:protectionLevel="signature" />
然后在组件上应用该权限:
android:name=".SecretActivity"android:permission="com.example.myapp.CUSTOM_PERMISSION" />
4. 其他重要配置
指定最低和目标 SDK 版本:控制应用兼容性:
android:targetSdkVersion="34" /> 声明使用硬件或功能:
避免不支持设备下载应用:
通过 android:name 指定自定义 Application 子类,用于全局初始化:
android:name=".MyApplication"... >
设置应用是否可被其他应用启动:
通过 android:exported 控制组件的可访问性:
android:name=".InternalActivity"android:exported="false" />
当为 true 时,其他应用可通过 Intent 启动该组件;false 则仅限本应用内部使用。
基本上就这些。AndroidManifest.xml 虽然结构简单,但作用关键。合理配置能提升安全性、兼容性和用户体验。开发中应根据实际需求准确声明组件、权限和特性,避免过度申请或遗漏关键配置。








