AndroidManifest文件详解

AndroidManifest 官方解释是应用清单(Manifest意思是货单),每个应用的根目录中都必须包含一个,并且文件名必须为AndroidManifest。这个文件中包含了APP的配置信息,系统需要根据里面的内容运行APP的代码,显示界面。
Android四大组件都需要声明才能使用,每个组件都需要在 AndroidManifest.xml文件中进行配置。
Android四大组件如下:
Activity:界面组件,就是一个单独的窗口(例如冷启动应用进入界面的就是launchale-activity)。
Service:服务组件,用于在后台完成用户指定的操作(如后台音乐播放)。
Cotent provider:内容组件,是一种数据共享型组件,用于向其他组件乃至其他应用共享数据(如短信和联系人应用之间的数据共享)。
Broadcast receiver:消息组件,监听/接收应用App发出的广播消息并做出响应(如电话呼入,耳机插入)。

1、manifest元素
所有的AndroidManifest.xml 都必须包含manifest元素。这是文件的根节点,它必须包含元素,并且指明xmlns:android 和 package。
在这里插入图片描述

xmlns:android属性
这个属性定义了android 命名空间。必须设置成“http://schemas.android.com/apk/res/android”。不要手动修改。

package属性
包名也代表着唯一的application ID,用来发布应用。包名由英文字母(大小写均可)、数字和下划线组成。每个独立的名字必须以字母开头。

android:VersionCode属性
内部的版本号。用户表明那个版本更新,这个数字不会显示给用户,显示给用户的是VersionName。这个必须是数字,且不能为16进制

android:VersionName属性
对外发布版本号。

2、元素
应用的声明,包含用于声明每个应用组件的子元素,并且具有会影响所有组件的属性。
其中许多属性(如 icon、label、permission、process、taskAffinity 和allowTaskReparenting)会为组件元素的相应属性设置默认值。其他属性(如debuggable、enabled、description 和 allowClearUserData)则为整个应用设置值,并且不能被组件替换。
在这里插入图片描述

android: allowBackup属性
是否允许应用参与备份和恢复基础架构。如果设置为false,则不会为该应用执行备份或恢复,即使采用全系统备份方法也不例外(这种备份方法通常会通过 adb 保存所有应用数据),此属性的默认值为true。

3、permission元素

声明限制此类应用安全权限
在这里插入图片描述

android:name属性
权限的名称

android:protectionLevel属性
出于安全考虑,Android对一些访问进行了限制,比如网络访问(需付费)以及获取联系人(涉及隐私)等。应用程序如果想要进行此类访问,则需要申请相应权限。Android对这些权限进行了四类分级,不同级别的权限对应不同的认证方式。
normal:低风险权限,只要申请了就可以使用(在AndroidManifest.xml中添加标签),安装时不需要用户确认。
dangerous:高风险权限,安装时需要用户的确认才可使用;
signature:只有当申请权限的应用程序的数字签名与声明此权限的应用程序的数字签名相同时(如果是申请系统权限,则需要与系统签名相同),才能将权限授给它;
signatureOrSystem:申请权限的应用数字签名与该应用数字签名相同,或者申请权限的应用为系统应用才可以授权。

4、uses-permission元素
指定用户必须授予的系统权限,以便应用正常运行。当(在运行 Android 5.1 和更低版本的设备上)安装应用或(在运行 Android 6.0 和更高版本的设备上)运行应用时,用户需要手动授予权限

在这里插入图片描述

5、Activity界面组件

声明实现应用部分可视化界面的 Activity,必须使用 AndroidManifest 中的 元素表示所有 Activity。系统不会识别和运行任何未进行声明的Activity。
在这里插入图片描述

android:name属性
表示实现 Activity 的类的名称,是 Activity 的子类。

6、Service 服务组件
使用将服务(Service)子类声明为应用的一个组件,服务用于实现长时间运行的后台操作。

在这里插入图片描述

7、Receiver 消息组件
使用 将广播接收器(BroadcastReceiver 子类)声明为应用的组件之一。广播接收器允许应用接收由系统或其他应用广播的 Intent。

在这里插入图片描述

8、Provider 内容组件
应用中的所有内容提供程序都必须在清单文件的元素中定义,声明内容提供程序组件。

在这里插入图片描述

9、intent-filter元素
意图过滤器,主要用来过滤隐式意图。当用户进行一项操作的时候,Android系统会根据配置的意图过滤器来寻找可以相应该操作的组件服务,由、 和 三个属性构成。在四大组件中均可以存在此元素
在这里插入图片描述
学习记录,文章出处https://www.cnblogs.com/yomia/p/15345009.html

  • 4
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
AndroidManifest.xml 是 Android 应用程序的核心清单文件,它在应用程序打包和安装时自动包含在 APK 文件中。它包含了应用程序所有组件的描述信息,包括活动(Activity)、服务(Service)、广播接收器(BroadcastReceiver)和内容提供器(Content Provider)等。在 Android 应用程序运行时,系统会根据该文件中的信息来决定如何启动、暂停或停止应用程序中的各个组件。 下面是 AndroidManifest.xml 中常用的标签及其解释: 1. manifest 标签:表示整个清单文件。 2. uses-sdk 标签:指定应用程序所需的 Android SDK 版本。 3. application 标签:表示应用程序的主要配置信息,包括应用程序的名称、图标、主题、权限、进程等。 4. activity 标签:表示一个活动(Activity),即一个界面,用于与用户交互。其中包括活动的名称、标签、主题、启动模式、导航栏、窗口大小等信息。 5. service 标签:表示一个服务(Service),即在后台长期运行的组件,用于执行一些耗时任务。其中包括服务的名称、进程、权限等信息。 6. receiver 标签:表示一个广播接收器(BroadcastReceiver),用于接收系统或其他应用程序发送的广播消息。其中包括广播接收器的名称、权限、过滤器等信息。 7. provider 标签:表示一个内容提供器(Content Provider),用于为应用程序提供数据访问接口。其中包括内容提供器的名称、权限、URI 等信息。 8. uses-permission 标签:表示应用程序所需的权限,用于访问受保护的系统资源或执行某些敏感操作。 以上是常用的 AndroidManifest.xml 标签,每个标签都有其特定的属性和用法,需要根据实际情况进行配置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值