每个 Project 中必须有一个 AndroidManifest.xml 文件,清单文件描述了关于 Android 构建工具、Android 操作系统和 Google Play 的应用程序基本信息。
主要声明以下内容:
- 应用包名,通常与代码的命名空间相匹配。
- 应用的组件,包括所有的 Activities, Services, Broadcast receivers, and Content providers。
- 为了访问系统中受保护的部分或其他应用程序,应用需要权限。
- 应用需要的硬件和软件功能。
Activity 标签下属性介绍
- action
包含于 <intent - filter>,必须包含一个或多个< action > 元素。 - android:name
操作名称,Intent 类中定义为 ACTION_string 常量。 - android:allowEmbedded
指示该活动可以作为另一个活动的嵌入子活动启动。例如 Wear 自定义通知的 Activity 必须声明此属性。此属性默认为 false 。 - android:allowTaskReparenting
活动是否可以从启动它的任务移动到任务。例如,电子邮件包含指向 web 页面的链接,点击链接显示该页面,如果使浏览器的父项,它将在下一个浏览器最前面显示,与 taskAffinity 配合使用。 - android:alwaysRetainTaskState
Activity 所在任务的状态是否总是由系统维护,默认 false。 - android:autoRemoveFromRecents
具有此属性的 Activity 启动的任务是否保留在 overview 屏幕中,直到任务中的最后一个活动完成。 - android:banner
为其相关项目提供扩展图形横幅的可绘制资源。 - android:clearTaskOnLaunch
是否将所有 Activity 从任务中删除,除了根 Activity。 - android:colorMode
请求在兼容设备上以宽色域模式显示活动。 - android:configChanges
声明此属性的配置将阻止 Activity 重新启动。 - android:directBootAware
是否可以在用户解锁设备之前运行。 - android:documentLaunchMode
指定每次启动任务时应如何将活动的新实例添加到任务中。 - android:enabled
是否可实例化 Activity。 - android:excludeFromRecents
是否应将此活动启动的任务从最近使用的应用程序列表 (概览屏幕)中排除。 - android:exported
是否可以让其他应用程序的组件启动该 Activity, - android:finishOnTaskLaunch
是否应该关闭 Activity 已存在的实例,当用户再次启动其任务(主屏幕上选择任务)时。 - android:hardwareAccelerated
是否为该 Activity 启动硬件加速渲染。 - android:icon
表示 Activity 的图标。 - android:immersive
设置当前 Activity 的沉浸模式设置。 - android:label
用户可读的标签,设置 AppName,通常与 Activity 图标一起显示, - android:launchMode
关于如何启动 Activity 的说明,默认是 standard。 - android:lockTaskMode
设备在锁定任务模式下确定系统如何显示 Activity。 - android:maxRecents
overview screen 中 Activity 最大任务数。 - android:maxAspectRatio
Activity 支持最大的宽高比。 - android:multiprocess
是否可以将 Activity 的实例启动到启动它的组件进程中。 - android:noHistory
是否应将 Activity 从 Activity 堆栈中移除并 finished。 - android:parentActivityName
Activity 逻辑的父类类名。 - android:persistableMode
定义如何保留 Activity 实例,重启设备包含的任务中。 - android:relinquishTaskIdentity
该 Activity 是否应该让出任务栈中位于其上的 Activity。 - resizeableActivity
是否支持多窗口显示。 - android:showForAllUsers
设备的当前用户不同于其他用户启动 Activity 是否要显示。 - android:stateNotNeeded
是否可以在 Activity 不保存状态情况下终止并成功启动。 - supportsPictureInPicture
支持画中画,API 24。 - android:windowSoftInputMode
Activity 主窗口如何包含屏幕中的软键盘的窗口交互。
application 标签下属性介绍
- android:allowTaskReparenting
是否允许 Activity 的迁移,从一个 task 迁移到另一个 task。 - android:allowBackup
是否允许应用程序参与备份和恢复基础设施,默认为 true。 - android:allowClearUserData
是否允许应用程序重置用户数据。 - android:allowNativeHeapPointerTagging
是否启用堆指针标记功能。 - android:backupAgent
实现应用程序备份代理类。 - android:backupInForeground
即使该应用出去前台等待状态,也可以在该应用程序上执行自动备份操作。 - android:description
用户可读的关于应用程序的文本。 - android:directBootAware
应用程序是否可以直接引导,是否可以在用户解锁设备前运行。 - android:fullBackupContent
包含一个 xml 文件,其中包含自动备份的完整备份规则。 - android:hasCode
应用程序是否包含代码,如果是 false ,启动组件不会尝试加载任何代码。 - android:hasFragileUserData
卸载应用程序时,是否向用户显示保留应用程序数据的提示。 - android:largeHeap
是否使用大堆创建应用程序的进程。 - android:networkSecurityConfig
指定包含应用程序的网络安全配置的 XML 文件的名称。 - android:persistent
应用程序是否一直运行,默认 false。 - android:supportsRtl
是否支持应用程序从右到左的布局。 - android:usesCleartextTraffic
指明应用程序是否使用明文网络流量。 - android:vmSafeMode
指明应用程序是否希望虚拟机在安全模式下运行。
meta - data 标签介绍
提供给父部件任意数据,以键值对附加的形式,某些第三方 SDK 会用到。