系统何时检查Android清单文件?

11
Android清单文件是否在应用程序开始运行之前检查可用组件,还是每次实例化新组件时系统都要检查Android清单文件?这里的组件指活动,服务等。涉及的流程是什么?
此外,即使在应用程序运行后,是否仍可以反复检查Android清单文件以检查XML活动属性,例如android:name, android:label,甚至意图筛选器,以不同的目的,例如查看是否已定义要使用的组件?

由于清单文件包含应用程序将检查的第一个设置,因此我会说:“一旦应用程序启动”。 - Phantômaxx
3个回答

2
简单来说,清单文件包含诸如“SD卡读写权限”之类的权限。因此,如果您在安装应用程序时没有SD卡,则无法安装应用程序。
再次,清单文件包含“最低SDK版本”,它会检查您手机上的操作系统版本。如果您手机上的操作系统版本低于清单中定义的最低版本,则该应用程序将无法安装在您的手机上。
在清单文件中,您还可以列出所有活动和服务。因此,如果没有在清单文件中添加这些内容,则您的活动/服务将无法正常工作。
因此,这些类型的检查和权限都在清单文件中。在运行任何应用程序代码之前,系统必须了解这些信息。
希望我能简短易懂地解释清楚。 :-D

感谢您的贡献。您知道一个正在运行的应用程序是否始终可以访问Android清单吗?例如,如果它正在创建新的组件实例,并且必须检查清单上的属性(如android:name)以查看是否允许,或者从android:name获取标签等。虽然您做出了巨大的贡献,但您并没有指定它是如何或何时执行的。我知道这是一个低级问题,但我想知道。 - Felipe Calderon
我恐怕没有理解你的问题。但是据我所知——你在谈论如何初始化组件,例如按钮、文本视图等。要在布局 XML 文件中使用任何视图,您需要设置一个 ID,例如:<TextView id="@+id/text">,然后您通过其 ID 初始化视图。更多信息请阅读:http://knowledgefolders.com/akc/display?url=DisplayNoteIMPURL&reportId=2883&ownerUserId=satya - Shaon Hasan

2
应用程序清单是应用程序的一部分-它会与应用程序一起打包到安装APK中。清单告诉系统应用程序将使用哪些API。当应用程序安装时,系统会告知用户应用程序将使用哪些可能敏感的API集(如清单中所列),如果用户允许安装该应用程序,则系统会假定允许使用这些API。操作系统不允许应用程序使用未在清单中声明的其他敏感API。请注意保留HTML标签。

1
Android清单文件包含重要信息,如应用程序的Java包名称、权限、有关活动、服务等的描述...系统在运行应用程序代码之前必须具备这些信息。由于这个原因,系统不会在运行时检查Android清单。更多内容请参见:Android Manifest - Android Developer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接