安卓manifest.xml文件详解 AndroidManifest.xml配置说明

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

安卓manifest.xml文件详解 androidmanifest.xml配置说明

AndroidManifest.xml 是每个 Android 应用都必须具备的核心配置文件,它位于项目的 app/src/main/ 目录下。这个文件向系统声明了应用的基本信息,包括组件、权限、设备兼容性等。系统在安装和运行应用时,首先读取该文件以了解应用的结构与需求。

应用基本信息声明

<manifest> 根标签中,需指定包名(package)和命名空间(xmlns:android)。包名是应用的唯一标识,不可重复。

常用属性:

  • package:应用的唯一包名,如 com.example.myapp
  • android:versionCode:内部版本号,整数,用于升级判断
  • android:versionName:对外显示的版本名称,如 "1.0.0"

示例:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.myapp"
android:versionCode="1"
android:versionName="1.0">
</manifest>

四大组件注册

所有 Activity、Service、BroadcastReceiver 和 ContentProvider 都必须在 Manifest 中显式声明,否则系统无法识别。

Activity 示例:

<activity
android:name=".MainActivity"
android:exported="true"
android:label="主界面">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

说明:

  • android:name:组件类名,. 开头表示当前包下
  • android:exported:是否允许外部调用,启动页通常设为 true
  • intent-filter:定义组件可响应的意图,MAIN + LAUNCHER 表示应用入口

Service 注册示例:

<service android:name=".MyBackgroundService" />

权限声明与请求

应用若需访问敏感资源(如相机、位置、存储),必须在 Manifest 中声明权限。

示例:

<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

注意:从 Android 6.0(API 23)起,部分权限还需在运行时动态申请,仅在 Manifest 声明不够。

设备兼容性与功能支持

通过 <uses-sdk><uses-feature> 控制应用兼容范围。

标贝悦读AI配音
标贝悦读AI配音

在线文字转语音软件-专业的配音网站

标贝悦读AI配音 20
查看详情 标贝悦读AI配音

uses-sdk 示例:

<uses-sdk
android:minSdkVersion="21"
android:targetSdkVersion="34" />
  • minSdkVersion:最低支持的 Android 版本
  • targetSdkVersion:目标版本,影响系统对新特性的行为控制

限制硬件功能:

<uses-feature android:name="android.hardware.camera" android:required="true" />

若 required 为 true,不具备摄像头的设备将无法安装此应用。

Application 全局配置

<application> 标签内定义应用全局属性及组件共用设置。

常见属性:

  • android:icon:应用图标
  • android:label:应用名称
  • android:theme:全局主题样式
  • android:allowBackup:是否允许备份数据(建议设为 false 保障安全)
  • android:supportsRtl:是否支持从右到左语言布局

示例:

<application
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme"
android:allowBackup="false">
...
</application>

Intent 过滤与组件通信

通过 <intent-filter> 设置组件可接收的 Intent 类型,实现组件间跳转或响应系统事件。

网页链接打开示例:

<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="https" android:host="www.example.com" />
</intent-filter>

此配置使应用能响应打开 https://www.example.com 的点击事件

基本上就这些关键内容。掌握 AndroidManifest.xml 的结构和常用标签,能有效控制应用行为、提升兼容性和安全性。不复杂但容易忽略细节,比如 exported 属性默认值随版本变化,需特别留意。

以上就是安卓manifest.xml文件详解 AndroidManifest.xml配置说明的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号