`
javayestome
  • 浏览: 1040849 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

android的AndroidManifest.xml文件介绍

阅读更多
AndroidManifest.xml是每一个应用都需要的文件, 位于应用根目录下,它 描述了程序包的全局变量, 包括暴露的应用组件(activities, services等等)和为每个组件的实现类, 什么样的数据可以操作, 以及在什么地方运行。

主要包括以下各个元素。
A.包名(package):指定本应用内java主程序包的包名。当没有指定apk的文件名时,编译后产生程序包将以此命名。本包名应当在Android系统运行时唯一。

B.认证(certificate):指定本应用程序所授予的信任级别,目前有的认证级别有platform(system)、shared、media以及应用自定义的认证。不同的认证可以享受不同的权限。

C.权限组(permission-group):权限组的定义是为了描述一组具有共同特性的权限。

D.权限(permission):权限用来描述是否拥有做某件事的权力。Android系统中权限是分级的,前分为普通级别(Normal),危险级别(dangerous),签名级别(signature)和系统/签名级别(signature or system)。系统中所有预定义的权限根据作用的不同,分别属于不同的级别。对于普通和危险级别的权限,我们称之为低级权限,应用申请即授予。其他两级权限,我们称之为高级权限或系统权限,应用拥有platform级别的认证才能申请。当应用试图在没有权限的情况下做受限操作,应用将被系统杀掉以警示。系统应用可以使用任何权限。权限的声明者可无条件使用该权限。

E.权限树(permission-tree)权限树的设置是为了统一管理一组权限,声明于该树下的权限所有者归属该应用。系统提供了API,应用可以在运行时动态添加。 PackageManager.addPermission()

F.使用权限(uses-permission):应用需要的权限应当在此处申请,所申请的权限应当被系统或某个应用所定义,否则视为无效申请。同时,使用权限的申请需要遵循权限授予条件,非platform认证的应用无法申请高级权限。

G:SDK(uses-sdk):标识本应用运行的SDK版本。高兼容性的应用可以忽略此项。

H.application:application是Android应用内最高级别(top level)的模块,每个应用内最多只能有一个application,如果应用没有指定该模块,一个默认的application将被启用。application将在应用启动时最先被加载,并存活在应用的整个运行时生命周期。因此一些初始化的工作适合在本模块完成. Application元素有许多属性,其中:“persistent”表示本应用是否为常驻内存,“enable”表示本应用当前是否应当被加载。
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".HelloOPhone"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>

在AndroidManifest.xml文件中,运行时模块的定义都作为本模块的子元素。当运行时模块被调度时,如果应用没有启动,将首先启动应用进行初始化,然后调度对应模块。

I.activity:activity是application模块的运行时子元素,标识了一个UI。除了application,一个应用可以声明并实现零至多个其它运行时模块,activity也同样。activity也包含了许多定义它工作状态的属性,其中:“name”是必须的,它指定了该activity所在的文件名,如果该文件所属包不同于该应用的包名(即本描述文件的最开始处),那么名字前面需要加入所在包名。activity通过增加intent-fliter来标识哪些intent可以被处理,同时intent也是调度activity的主要参数。

J.receiver:receiver也是application的运行时子元素。receiver通过增加intent-fliter来标识它需要接受哪些intent。当收到intent后,receiver将根据不同的intent进行不同的处理。当一个Intent发出后,所有注册了该intent的receiver都将会收到,系统会根据receiver在系统中的注册次序顺序发送。当一个receiver处理完该Intent后,系统才会向下一个receiver发送。当一个receiver有多个未接收的intent时,将按照intent发送的次序顺序接收。
在本实例中,intent-filter如下:
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />

K.service:service也是application的运行时子元素。Service属于后台模块,启动后将长时间运行,除非停止该service或所在应用进程被杀死。

L.provider:provider也是application的运行时子元素。它继承于ContentProvider,是对该应用管理的用户数据的结构化接入,是基于数据库操作方式的封装。如果应用允许外部应用访问/管理它的用户数据,provider是Android平台提供的最佳方式。

M.activity-alias:顾名思义,是已有activity的别名。

N:uses-library:标识应用启动所必须的共享库。
分享到:
评论

相关推荐

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

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

    AndroidManifest.xml反编译工具

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

    提取apk文件中的AndroidManifest.XML

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

    二进制AndroidManifest.xml修改神器~

    在Android应用开发中,`AndroidManifest.xml`是一个至关重要的文件,它定义了应用程序的基本属性、权限、组件(如Activity、Service、BroadcastReceiver和ContentProvider)以及它们之间的关系。本资源,"二进制...

    Android 报错:Entry name ‘AndroidManifest.xml’ collided

    Android 报错:Entry name ‘AndroidManifest.xml’ collided前言解决方法1、直接退回3.5.32、排除打包文件3、使用旧打包工具4、最终解决方法完事 前言 这两天 Android studio 更新了 3.6 版本,天天在右下角提示 ...

    AndroidManifest.xml信息查看工具

    在Android应用开发中,`AndroidManifest.xml`是一个至关重要的文件,它定义了应用程序的基本属性、权限、组件(如活动、服务、广播接收器和内容提供者)以及它们之间的关系。这款名为“AndroidManifest.xml信息查看...

    AndroidManifest.xml文件

    上次传的main activity代码配套,欢迎页面太丑没穿,好吧,就这样。

    AndroidManifest.xml编译器

    在Android应用开发中,`AndroidManifest.xml`是一个至关重要的文件,它是每个Android应用程序的核心组成部分,负责定义应用程序的组件、权限、所需库以及与其他应用程序的交互方式。本篇将深入探讨`AndroidManifest....

    修改二进制文件AndroidManifest.xml文件

    android反编译:修改apk生成的二进制文件AndroidManifest.xml文件。

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

    `AndroidManifest.xml` 是 Android 应用的核心配置文件,它位于应用项目的根目录下。该文件主要用于描述应用的基本信息及其组件,比如 Activity、Service、BroadcastReceiver 和 ContentProvider 等。此外,`...

    Androidmanifest.xml文件分析

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

    AndroidManifest.xml文件详解

    通过上述结构和属性的介绍,我们可以了解到 `AndroidManifest.xml` 在 Android 应用开发中的核心作用。它是连接应用程序组件与 Android 系统的重要桥梁,确保应用程序能够按照预期运行,并且能够充分利用设备资源。...

    AndroidManifest.xml文件剖析.pdf

    AndroidManifest.xml文件是Android应用程序的全局配置文件,它是Android应用程序中最重要的配置文件之一。该文件用于描述应用程序的基本信息、组件信息、权限信息、IntentFILTER信息等。理解AndroidManifest.xml文件...

    QQ客户端反编辑AndroidManifest.xml文件

    借鉴QQ的配置 AndroidManifest.xml

    反编译 AndroidManifest.xml

    在Android应用开发中,`AndroidManifest.xml`是一个至关重要的文件,它包含了应用程序的基本配置和元数据,如应用名称、所需权限、使用的Activity、Service、BroadcastReceiver等信息。本篇文章将详细探讨如何对`...

Global site tag (gtag.js) - Google Analytics