AndroidManifest文件详解

article/2025/10/27 0:27:47

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


http://chatgpt.dhexx.cn/article/ngsF3K8M.shtml

相关文章

IIS 部署的网站无法启动

昨天更新了下电脑系统,早上一来发现自己原先在iis上部署的网站全部都被停止了。。。。。。。然后找其中一个网站进行重新启动,却是无法启动,提示如图: 这个是因为80端口被占用了,可以在 命令行 输入 netstst -ano …

如何打开IIS服务

windows10为例:右击此电脑--属性--控制面板--网络和Internet--程序--启用或关闭Windows功能--勾选Internet Information Services 所有选项--确定,等待操作完成后,就可以打开IIS服务了(使用时直接搜索IIS即可) 详细步…

Windows Server 2016 IIS无法启用W3SVC或IIS应用池状态未知服务无法启动

起因: 近期给客户部署系统,由于安装环境(C、.net、dotnet)出现了操作系统(Windows Server 2016 Standard)无法开机的情况。然后用PE修复系统之后,通过安全模式下,最后一次正确配置&a…

IIS因为World Wide Web Publishing Service无法启动 1068

IIS无法启动,报错: 然后在服务管理窗口中,找到World Wide Web Publishing Service 并启动。 如果World Wide Web Publishing Service 无法启动,右键属性查看依赖项,把依赖项都启动,再次启动World Wide Web …

iis启动 服务无法在此时接受控制信息。 (异常来自 HRESULT:0x80070425)

问题描述:每隔一段时间应用程序池就会自动停止。 再次启动就报错:服务无法在此时接受控制信息。 (异常来自 HRESULT:0x80070425) 处理办法:同时按下WinR,运行“services.msc”,进入服务管理, 里面有个“Credential Manager”,设…

IIS6/IIS7无法打开IIS管理器的解决方法。

症状:管理工具中的IIS管理器双击无反应,右键打开无反应。 我的电脑上右键管理,打开服务和应用程序,双击IIS管理器,闪开闪关。 解决办法:开始→运行→输入inetmgr.exe /reset 搞定,原因不明。。…

iis无法访问问题

早晨接到电话,说网络无法访问。想想昨天还可以怎么今天就不可以了呢? 回来后发现确实是,只有自己的机器可以访问,换一台就无法访问。 赶快百度。 首先百度到如下的网页,进行解决。 XP下iis服务器无法访问的问题 20…

『已解决』IIS启动 服务无法在此时接受控制信息

iis启动 服务无法在此时接受控制信息 问题描述:每隔一段时间应用程序池就会自动停止,报错:服务无法在此时接受控制信息。 (异常来自 HRESULT:0x80070425) iis启动 服务无法在此时接受控制信息。 (异常来自 HRESULT:0x80070425) iis应用池启动…

IIS已经安装,但无法打开的解决方法

问题描述: IIS(Internet Information Services)已经安装到电脑上,但是进入管理工具就是无法打开,双击后无法弹出相应程序. 解决方法: 卸载IIS服务重新安装IIS服务 卸载步骤: 进入控制面板,点击启用或关闭Windows功能.出现第二个界面,取消勾选红色方框的两项后确定,一段时间后会…

IIS无法启动计算机上的服务W3SVC如何修复

错误提示 启动iis7管理服务器提示:无法启动计算机上的服务W3SVC 启动Windows Process Activation Service服务,报错:6801 指定资源管理器中的事务支持未启动或已关闭 启动world wide web publishing service服务,报错:1068:依赖服务或组无法启动 执行步骤 打开命令…

IIS站点无法启动,万维网发布服务无法开机启动解决办法

1、IIS站点无法启动,点击启动报错。 2、World Wide Web 发布服务(w3svc)设置为自动 却没有启动。 特此记录下解决方法。 1)打开服务列表,找到World Wide Web 发布服务,右键属性,查找依赖关系&a…

比较简单实用并且免费的端口映射(内网穿透)工具

“端口映射”通俗来说就是将外网主机的IP地址端口映射到内网中一台机器,提供相应的服务。内网相通,电因特网对外开放服务或者接收大数据,都需要端口映射。首先,想要做好端口映射,确定路由器,清楚的认识软件…

80端口映射外网方法

在本地服务器搭建了IIS或apache等web网站后,除了局域网内访问需要,还需要提供互联网访问站点,这时一般就需要路由器80端口映射设置。端口映射,即从一个网络环境下的端口映射到另一个网络环境下访问的过程。通常由软件方式来提供这…

内网用端口映射

第一步,保证你内网的机器通过所谓的代理服务器能顺利连上internet,这里就不多说了,粗略的写写。 看看这图,至于这个具有公网IP的代理服务器(或称代理网关)如何接入internet(也是就问号里的东东&…

内网穿透用什么软件好?本地设置内网端口映射到外网访问

我们经常听到有人说在用内网穿透工具,那么内网穿透工具有什么作用呢?内网穿透工具的作用是将本地内网服务器和应用提供到互联网上连接访问,可以解决在无公网IP条件下跨网互通互连问题。比如在家远程办公,访问公司内部办公OA服务器…

windows 下端口转发 端口映射工具 passport 端口映射

下载地址 http://sourceforge.net/projects/pjs-passport/ 参考 https://yanbin.blog/windows-port-forwarding-passport/

windows10环境下进行端口映射连接内网

(1)下载安装包(免安装) tfcenter安装包https://share.weiyun.com/tFAN6x5p(2)解压并执行tfcenter.exe软件,提示运行已成功 (3)右击最小化图标,打开网页并选择…

免费内网端口映射、内网穿透

网络通永久免费内网端口映射,内网穿透软件,可轻松访问连接内网,100%穿透内网,不需设置路由器,不需公网ip,不需固定ip,不需动态域名,用户可免费添加多个映射,适合在公司,小区宽带,出租屋&#xf…

windows平台端口映射工具的使用

目录 1.系统自身netsh命令 2.使用Portmap 3.使用PortTunnel 4.测试 1.系统自身netsh命令 优点:不需第三方软件.缺点:没有白名单,黑名单功能.只能通过防火墙功能进行设置. //增加端口映射 netsh interface portproxy add v4tov4 listenaddress0.0.0.0 listenport3390 conn…

如何让本地局域网IP端口映射到域名

外网用户不能通过访问内网IP来实现访问我们的FTP、Web、SVN等应用服务器,也不能直接通过内网IP来远程桌面到内网主机电脑。对于外网用户,起唯一地址作用的就是域名,你的服务器是需要让外网能够识别的唯一地址。 如何让外网访问内网服务器&am…