`
xusaomaiss
  • 浏览: 615721 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

AndroidManifest.xml 解析

阅读更多

AndroidManifest.xml是每一个应用都需要的文件. 位于应用根目录下, 描述了程序包的一个全局变量, 包括暴露的应用组件(activities, services等等)和为每个组件的实现类, 什么样的数据可以操作, 以及在什么地方运行.
      这 个文件的一个重要方面(概念)是其中的intent过滤器. 这个过滤器描述了何时何种情况下让activity 启动. 当一个activity(或是操作系统)想要执行一个动作, 例如打开一个Web页或是打开一个联系人选取屏幕, 会创建一个Intent对象. 该对象包含了很多的描述信息, 描述了你想做什么操作, 你想处理什么数据, 数据的类型, 以及一些其他的重要信息. Android拿这个Intent的信息与所有应用暴露的intent过滤器比较, 找到一个最能恰当处理请求者要求的数据和action的activity. intents的更多信息在Intent页.
      另外还 要声明您的应用的Activities, Content Providers, Services, 和 Intent Receivers, 你也可以在AndroidManifest.xml文件中指定权限和instrumentation(安全控制和测试).
      一个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>
      xmlns:android 属性是 XML 名空间声明语句,用来告诉 Android 工具将使用 Android 名空间中定义的公共属性。每个 Android 布局文件的最外层的标签必须有该属性。
      在 manifest中,定义多个activity时,系统在启动这个application时,该如何判断哪个activity是入口activity。经 过测试发现,在manifest中定义的activity中,如果该activity的action是MAIN属性,并且category 是LAUNCHER属性,那么该activity就是入口程序。如果manifest中有多个这样情况的activity存在,那么系统会将第一个查找到 的复合条件的activity作为入口程序。manifest中至少应该有一个复合该条件的activity存在。

AndroidManifest.xml 的结构大纲:

<manifest> 文件根节点, 描述了程序包的所有内容.
    <uses-permission> 请求一个安全授权, 必须被授予该权限, 您的程序包才能正确的操作.可以包含零个或多个这样的节点.
    <permission> 声明一个安全授权, 用来限制哪些应用可以访问您的程序包内的组件和特有机制. 可以包含零个或多个这样的节点.
    <instrumentation>
    <application> 描述程序包内应用级别组件的根节点. 该节点能够描述应用程序的全局(和/或)默认属性, 例如标签, 图标, 主题, 需要的授权, 等等.包含零个或一个这样的节点
        <activity> Activity 是应用于用户交互的最主要机制. 当一个应用运行的时候, 用户看到的第一个屏幕就是activity, 并且, 用户所使用的其他绝大多数屏幕(界面)也会是
            <intent-filter>
            <action>
            <category>
            <type>
            <scheme>
            <authority>
            <path>
        <receiver> 一个IntentReceiver 可以让应用接收到一次数据变化和一次行为发生的通知, 甚至这个应用没有在运行也可以. 同activity 标签一样, 你可以选择包含一个或多个<intent-filter>元素
        <service>Service 是一个在后台任意时刻都可以运行的组件. 同activity 标签一样, 你可以选择包含一个或多个<intent-filter>元素
        <provider>ContentProvider组件是用来管理数据持久化及数据发布的, 发布的数据可以被其他的应用访问.



原创连接:http://hi.baidu.com/babala_234/blog/item/31bd5f124fa233c8c2fd7877.html

分享到:
评论

相关推荐

    AndroidManifest.xml解析

    《深入理解AndroidManifest.xml解析》 在Android应用开发中,AndroidManifest.xml文件扮演着至关重要的角色。它是每个Android程序的核心配置文件,位于应用程序的根目录下,用于定义应用程序的全局特性,包括应用...

    二进制AndroidManifest.xml修改神器~

    二进制的`AndroidManifest.xml`(也称为AXML)是经过编译和优化的,以便于设备更快地解析和运行。 **AXML结构:** AXML是一种二进制XML格式,由Android系统用于存储应用程序资源。它包括元素、属性、字符串池和颜色...

    提取apk文件中的AndroidManifest.XML

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

    Android学习笔记之AndroidManifest.xml文件解析

    ### AndroidManifest.xml 文件解析知识点 #### 一、概述 `AndroidManifest.xml` 是 Android 应用的核心配置文件,它位于应用项目的根目录下。该文件主要用于描述应用的基本信息及其组件,比如 Activity、Service、...

    AndroidManifest.xml信息查看工具

    `AXMLPrinter2.jar`是一个XML解析工具,能够将Android的二进制XML(AXML)文件转换成可读的文本格式,这对于查看和理解`AndroidManifest.xml`的原始二进制形式非常有用。开发者可以使用它来查看那些在标准文本编辑器...

    AndroidManifest.xml编译器

    在Java编程中,可以使用`javax.xml.parsers.DocumentBuilderFactory`和`javax.xml.parsers.DocumentBuilder`类来解析`AndroidManifest.xml`文件,然后通过`TransformerFactory`和`Transformer`将XML文档转换为不同的...

    Android教程之AndroidManifest.xml文件详细介绍及用法解析

    Android教程之AndroidManifest.xml文件 详细介绍及用法解析

    反编译 AndroidManifest.xml

    `AXMLPrinter2.jar`是一个Java可执行文件,可以解析APK文件中的AXML(Android XML)格式,并将其转换为可读的XML格式。以下是使用`AXMLPrinter2.jar`反编译`AndroidManifest.xml`的基本步骤: 1. 首先,你需要将...

    androidmanifest.xml详解

    详细阐述androidmanifest.xml各个属性的含义和用法

    AXMLPrinter2 AndroidManifest.xml to AndroidManifest.txt

    1. **XML解析**:`AndroidManifest.xml`是一个XML文档,`AXMLPrinter2`通过解析XML结构,将其转换为纯文本,使得开发者可以不依赖于XML解析器直接查看其内容。 2. **二进制XML与文本XML**:在APK打包过程中,`...

    AndroidManifest.xml 最新解析包

    6. **备用方案**:如果`AXMLPrinter`不可行,可以寻找其他XML解析库,比如`dom4j`、`jdom`等,它们提供了更丰富的异常处理机制。 理解`AndroidManifest.xml`的结构和作用,以及如何正确解析它是Android开发中的重要...

    学习笔记之AndroidManifest.xml文件解析.docx

    AndroidManifest.xml 文件解析 AndroidManifest.xml 文件是每个 Android 程序中必须的文件,位于整个项目的根目录,描述了 package 中暴露的组件(activities, services, 等等),他们各自的实现类,各种能被处理的...

    c#解析AndroidManifest.xml

    最近用c#做apk采集,需要解析采集后的android包名和版本号,网上搜了很久只有java版本,尝试自己写了下,比较麻烦,索性网上找了java转c#的方法,把AXMLPrinter2.jar给转成了dll,看到不少人也需要这个,发来共享一下

    通过占坑位启动未在AndroidManifest.xml注册的Activity

    在Android应用开发中,通常每个Activity都需要在AndroidManifest.xml文件中进行注册,以便系统能够知道它们的存在并管理它们的生命周期。然而,在某些特殊情况下,开发者可能会选择不将某个Activity注册在清单文件中...

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

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

    反编译AndroidManifest等xml文件

    AXMLPrinter是一个用于解析和打印Android二进制XML文件的工具,它可以将二进制XML转换成人类可读的文本格式。 要使用AXMLPrinter,你需要以下步骤: 1. 获取AXMLPrinter工具:AXMLPrinter通常作为Apktool的一部分...

Global site tag (gtag.js) - Google Analytics