`
263229365
  • 浏览: 472106 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

AndroidManifest.xml文件分析

阅读更多

AndroidManifest.xml是每个android程序中必须的文件。它位于application的根目录,描述了package中的全局数据,包括了package中暴露的组件(activities, services, 等等),它们各自的实现类,各种能被处理的数据和启动位置。

此文件一个重要的地方就是它所包含的intent-filters。这些filters描述了activity启动的位置和时间。每当一个activity(或者操作系统)要执行一个操作,例如:打开网页或联系簿时,它创建出一个intent的对象。它能承载一些信息描述了你想做什么,你想处理什么数据,数据的类型,和一些其他信息。Android比较了intent对象中和每个application所暴露的intent-filter中的信息,来找到最合适的activity来处理调用者所指定的数据和操作。

    除了能声明你程序中的Activities, Content Providers, Services, Intent Receivers,你还能指定permissionsinstrumentation(安全控制和测试)在AndroidManifest.xml文件中。

    这是一个简单的AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

        package="com.my_domain.app.helloactivity">

        

    <application android:label="@string/app_name">

    

        <activity class=".HelloActivity">

            <intent-filter>

                <action android:value="android.intent.action.MAIN"/>

                <category android:value="android.intent.category.LAUNCHER"/>

            </intent-filter>

        </activity>

        

    </application>

    

</manifest>

值得一提一些常用之处:

· 几乎所有的AndroidManifest.xml(以及许多其他Androidxml的文件)在第一个元素中包含了命名空间的声明xmlns:android="http://schemas.android.com/apk/res/android"。这样使得Android中各种标准属性能在文件中使用,提供了大部分元素中的数据。

· 大部分manifests包含了单个<application>的元素,它定义了所有的application级别组件和属性,并能在package中使用。

· 任何被用户看作顶层应用程序,并能被程序启动器所用的package,需要包含至少一个Activity组件来支持MAIN操作和LAUNCHER种类,如上述代码中所见。

这里是AndroidManifest.xml文件结构的一个详细的列表,描述了所有能被使用的标记。

manifest

    根节点,描述了package中所有的内容。在它之下能放置:

    uses-permission

        请求你的package正常运作所需赋予的安全许可。见SecurityModel来获得许可的更多的信息。一个manifest能包含零个或更多此元素。

    permission

        声明了安全许可来限制哪些程序能你package中的组件和功能。见SecurityModel来获得许可的更多的信息。一个manifest能包含零个或更多此元素。

    instrumentation

        声明了用来测试此package或其他package指令组件的代码。见Instrumentation来获得许可的更多的信息。一个manifest能包含零个或更多此元素。

    application

        包含packageapplication级别组件声明的根节点。此元素也可包含application中全局和默认的属性,如标签,icon,主题,必要的权限,等等。一个manifest能包含零个或一个此元素(不允许多余一个)。在它之下能放置零个或更多下列组件声明:

        activity

            Activity是用来与用户交互的主要工具。当用户打开一个应用程序的初始页面时一个activity,大部分被使用到的其他页面也由不同的activity所实现并声明在另外的activity标记中。

            注意:每一个activity必须要一个<activity>标记对应,无论它给外部使用或是只用于自己的package中。如果一个activity没有对应的标记,你将不能运行它。

            另外,为了支持运行时迟查找你的activity,你能包含一个或多个<intent-filter>元素来描述你activity所支持的操作:

            

            intent-filter

                声明了指定的一组组件支持的Intent值,从而形成了IntentFilter。除了能在此元素下指定不同类型的值,属性也能放在这里来描述一个操作所需的唯一的标签,icon和其它信息。

                action

                    组件支持的Intentaction。

                category

                    组件支持的IntentCategory.

                type

                    组件支持的Intentdata MIME type.

                schema

                    组件支持的Intentdata URI scheme.

                authority

                    组件支持的Intentdata URI authority.

                path

                    组件支持的Intentdata URI path.

        receiver

            IntentReceiver能使的application获得数据的改变或者发生的操作,即使它当前不在运行。利用activity标记,你能选择地包含一个或多个receiver所支持的<intent-filter>元素;

        service

            Service是能在后台运行任意时间的组件。利用activity标记,你能选择地包含一个或多个receiver所支持的<intent-filter>元素;

        provider

            ContentProvider是用来管理持久化数据并发布给其他应用程序使用的组件。

 

 

转自:cnbolg

分享到:
评论

相关推荐

    Androidmanifest.xml文件分析

    AndroidManifest.xml 是每个android程序中必须的文件。它位于整个项目的根目录,描述了package中暴露的组件(activities, services, 等等),他们各自的实现类,各种能被处理的数据和启动位置。 除了能声明程序中的...

    AndroidManifest.xml反编译工具

    5. 打开生成的XML文件,你就可以看到易于阅读和理解的`AndroidManifest.xml`内容了。 另外,压缩包中的"AXMLPrinter2使用说明.txt"可能包含了更详细的使用指南,而"西西软件园.txt"和"西西软件园_游戏网下载_最安全...

    提取apk文件中的AndroidManifest.XML

    Android反编译工具是用来解析和反编译APK文件的,它可以将APK的二进制资源转换为可读的源代码和XML文件。Apktool是一款流行的Android反编译工具,它支持对APK进行拆解、修改和重新打包。通过Apktool,我们可以轻松地...

    AndroidManifest.xml信息查看工具

    `unzip.exe`是解压工具,可能被用来提取APK文件中的`AndroidManifest.xml`,以便进行更深入的分析或编辑。APK本质上是一个ZIP格式的文件,包含了应用的所有资源和代码。 `AXMLPrinter2.jar`是一个XML解析工具,能够...

    反编译 AndroidManifest.xml

    在Android应用中,`AndroidManifest.xml`通常是经过编译并打包到APK文件内的,因此,如果我们想要查看或分析一个已安装应用的`AndroidManifest.xml`,就需要进行反编译操作。 反编译`AndroidManifest.xml`通常需要...

    androidmanifest.xml分析工具

    androidmanifest.xml分析工具,将文件与androidmanifest.xml放在同一目录下运行python XMLanalysis.py即可

    AXMLPrinter2 AndroidManifest.xml to AndroidManifest.txt

    通常,用户需要将`AndroidManifest.xml`文件和`AXMLPrinter2.jar`放在同一目录下,然后通过命令行运行Java虚拟机,调用jar文件对XML文件进行转换。 例如,命令可能如下: ``` java -jar AXMLPrinter2.jar ...

    AndroidManifest.xml文件剖析

    《AndroidManifest.xml文件详解》 AndroidManifest.xml是每个Android应用的核心配置文件,它定义了应用程序的基本属性、组件以及它们如何相互交互。理解并熟练运用这个文件对于任何Android开发者来说都是至关重要的...

    反编译AndroidManifest等xml文件

    然而,在分析APK或者处理二进制XML文件时,反编译就显得尤为重要。AXMLPrinter是一个用于解析和打印Android二进制XML文件的工具,它可以将二进制XML转换成人类可读的文本格式。 要使用AXMLPrinter,你需要以下步骤...

    AndroidManifest.xml 最新解析包

    1. **检查XML文件**:确保`AndroidManifest.xml`文件的格式是正确的,没有语法错误或者非法字符。可以使用XML验证工具来验证其结构。 2. **更新工具**:`AXMLPrinter-latest.jar`的"latest"可能已经过时,尝试找到...

    AndroidManifest.rar

    在Android应用开发中,`AndroidManifest.xml`文件是至关重要的组成部分,它...压缩包中的`AndroidManifest.xml`文件可能包含了解决这个问题的关键信息,通过详细查看和分析,可以找到并修复问题,从而实现“完美解”。

    AndroidManifest_parser

    `AndroidManifest_parser`是一个Python接口,专门设计用于解析这个二进制格式的XML文件,为开发者提供了便利的工具来分析和理解Android应用的结构。 在Python中,通常我们使用标准库如`xml.etree.ElementTree`来...

    利用aapt.exe 解析APK AndroidManifest.xml,信息更加全面

    本篇将详细讲解如何利用`aapt.exe`来解析APK中的`AndroidManifest.xml`文件,以及如何通过Java调用`aapt.exe`获取更全面的信息,包括图标名称等。 `AndroidManifest.xml`是每个APK的核心组件,它定义了应用的基本元...

    AndroidManifest.xml中Android权限大全.doc

    在Android开发中,`AndroidManifest.xml`文件是每个应用程序的核心配置文件,它包含了应用的组件(Activity、Service等)以及它们的配置信息,其中就包括了对权限的声明。权限管理是Android安全模型的重要组成部分,...

    AndroidManifestFix:修复AndroidManifest.xml

    `AndroidManifestFix`是一个专为解决`AndroidManifest.xml`(通常称为AXML文件)中属性缺失问题的工具。本文将深入探讨`AndroidManifest.xml`的结构和功能,以及`AndroidManifestFix`如何帮助开发者修复潜在的问题。...

    AndroidManifestFileTemplate:010 编辑器中的 AndroidManifest.xml 二进制文件模板

    AndroidManifest 二进制文件模板 AndroidManifestTemplate.bt 是 010 Editor 中 AndroidManifest Binary 文件的模板文件。 有关 010 编辑器模板的更多详细信息,请参阅此。 此模板基于此 重命名目录存储一个 python...

    自动清单:在简单的库中生成AndroidManifest.xml,因此您不必

    在Android应用开发中,`AndroidManifest.xml`是一个至关重要的文件,它包含了应用程序的元数据、权限、组件声明等信息。然而,当创建一个Android库项目时,管理`AndroidManifest.xml`可能会变得繁琐,特别是当库有多...

Global site tag (gtag.js) - Google Analytics