packages.xml文件存放在/data/system目录下
    该文件记录了系统中所有应用程序的包管理相关信息
    PmS根据该文件进行包管理的各种操作

标签名称 所包含的值举例
last-platform-version internal="17" external="17"
<permission-trees /> 暂时不使用
<permissions>
    <item />
</permissions>
<item
name="android.permission.CHANGE_WIFI_MULTICAST_STATE"
package="android" protection="1" />
<package>
    <sigs>
        <cert />
    </sigs>
    <perms>
        <item />
    </perms>
</package>
<package

   
name="com.sec.android.gallery3d"
   
codePath="/system/app/SecGallery2013.apk"
   
nativeLibraryPath="/data/app-lib/SecGallery2013"
    flags="1621061"
    ft="143fbeddf38"
    it="143fbeddf38"
    ut="143fbeddf38"
    version="17"
   
userId="10088">
 
    <sigs
count="1">
        <cert index="3"
key="30820...." />
    </sigs>
    <perms>
        <item name="android.permission.READ_EXTERNAL_STORAGE"
/>
        <item
name="android.permission.GET_TASKS" />
    </perms>
</package>
disabled-components <item
name="com.android.email.service.MailService">
prefered-activities 偏好设置,比如当一个intent对应了两个Activity是,系统会弹出一个对话框提示用户要执行那个Activity,并且提供一个
复选框,用户可以勾选复选框,从而使得以后每次都执行相同的Activity,而这个信息就保存在该标签中
<shared-user>
    <sigs>
        <cert/>
    </sigs>
    <perms>
       <item />
    </perms>
</shared-user>
<shared-user
name="org.simalliance.uid.openmobileapi"
userId="1101">
<sigs count="1">
<cert index="0" />
</sigs>
<perms>
<item name="android.permission.NFC" />
<item name="android.permission.READ_PHONE_STATE" />
<item name="android.permission.READ_EXTERNAL_STORAGE"
/>
<item name="org.simalliance.openmobileapi.SMARTCARD"
/>
<item name="android.permission.RECEIVE_BOOT_COMPLETED"
/>
<item name="android.permission.WRITE_SECURE_SETTINGS"
/>
<item name="android.permission.WRITE_EXTERNAL_STORAGE" />
</perms>
</shared-user>
cleaning-package 程序已删除,但是对应的程序数据目录还没有删除,默认卸载不会清除数据
update-package  

1. last-platform-version 标签
        系统升级后重新为已安装的程序设置访问权限,重新建立包管理所需懂得XML文件
        一般和相应得SDK版本号相同
        两个属性:internal表示内部存储区上的程序被跟更新前系统的版本号
            external表示外部存储区程序更新前的系统版本号
            这两个号一般相同
    2. permission 标签
        保存了系统所有的权限列表(1. Framework定义的权限(系统权限), 2. App自定义的权限)
            Framework定义的权限是在 android/framework/base/core/res/rs/AndroidManifest.xml中

每个permission都由一个item标签标识,item标签中分别包含三种属性
            ① name: 权限名称。系统名称一般以android.permission开头。App一般以所属的包名开头。权限名称必须全局唯一
            ② package: 权限所在的包名。Framework对应的包名是android。
            ③ protection:保护级别。一共有4中保护级别,普通,危险,签名,系统

Android PackageManager packages.xml文件格式的更多相关文章

  1. Android PackageManager基础知识

    一.PackageManagerService启动过程 SystemServer首先启动,创建一个ServerThread线程来启动所有Android核心服务,其中PackageManagerServ ...

  2. android获取string.xml的值(转)

    为什么需要把应用中出现的文字单独存放在string.xml文件中呢? 一:是为了国际化,当需要国际化时,只需要再提供一个string.xml文件,把里面的汉子信息都修改为对应的语言(如,English ...

  3. [转载]关于android SDK安装Failed to fetch URL http://dl-ssl.google.com/android/repository/addons_list-1.xml出错

    原文地址为:http://blog.csdn.net/springsky_/article/details/7442388 因为入行移动测试,所以很多测试环境的搭建.从中遇到了和这个GG同样的问题.怕 ...

  4. Failed to fetch URL http://dl-ssl.google.com/android/repository/addons_list-2.xml, reason: Connectio (andriod sdk manager) http://dl-ssl.google.com/android上不去解决方案

    Fetching https://dl-ssl.google.com/android/repository/addons_list-2.xml  Fetched Add-ons List succes ...

  5. Failed to fetch URL http://dl-ssl.google.com/android/repository/addons_list-2.xml, reason:

    http://blog.csdn.net/gyming/article/details/8168166/ 最近接受的这个项目需要Android SDK Tools revision 22.6.2 or ...

  6. Android之androidmainfest.xml配置文件详解

    写配置文件的时候我们会不知道把那些配置项放在哪里,请看: 配置文件样例: <?xml version="1.0" encoding="utf-8"?> ...

  7. Failed to install the following Android SDK packages as some licences have not been accepted.

    问题描述: 执行gradle tasks报错: gradle tasks > Configure project :app Exception /package.xml. Probably th ...

  8. 关于android SDK安装Failed to fetch URL http://dl-ssl.google.com/android/repository/addons_list-1.xml出错

          最近SDK出问题了,然后在google下载了一个android-sdk-windows.rar,然后点击SDK Manager,结果一直不能刷新API Level,然后就开始在网上找了好多 ...

  9. Android在layout xml中使用include

    Android include与merge标签使用详解 - shuqiaoniu的博客 - 博客频道 - CSDN.NEThttp://blog.csdn.net/shuqiaoniu/article ...

随机推荐

  1. SQL语句的增删改查

    一.增:有2种方法 1.使用insert插入单行数据: 语法:insert [into] <表名> [列名] values <列值> 例:insert into Strdent ...

  2. HAProxy 基本翻译

    REF:http://cbonte.github.io/haproxy-dconv/1.5/configuration.html Proxy configuration can be located ...

  3. Android项目svn代码管理问题[转]

    用svn控制版本,svn本身是不会识别哪些该传,哪些不该传,这就导致有些关于路径的东西(比如拓展jar的路径)也被上传了,而当别人下载后,那个路径对于这个人可能完全不存在,项目编译就会出问题.用ecl ...

  4. Android项目Tab类型主界面大总结 Fragment+TabPageIndicator+ViewPager

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/24740977 Android如今实现Tab类型的界面方式越来越多,今天就把常见的 ...

  5. mybatis06 增删改差 源码

    user.java package cn.itcast.mybatis.po; import java.util.Date; public class User { private int id; p ...

  6. struts2操作pojo之小工程struts2ActionPOJO

    下面的源码和操作步骤依据java web整合开发王者归来第16章,16.7 Action中使用POJO:p464 pojo:就是javabean的意思,下面就是struts2操作javabean代码过 ...

  7. 在WinForm中使用委托来在其他线程中改变控件的显示

    假设winform中有两个控件: 1.ListView用来显示进度的文本提示,ID:listView_progressInfo 2.ProgressBar用来显示进度,ID:progressBar1 ...

  8. java 对象的this使用 java方法中参数传递特性 方法的递归

    一.this关键字,使用的情形,以及如何使用. 1.使用的情形 类中的方法体中使用this  --初始化该对象 类的构造器中使用this --引用,调用该方法的对象 2.不写this,调用 只要方法或 ...

  9. Shell变量之自定义变量、环境变量

    1:环境变量        环境变量可以帮我们达到很多功能-包括家目录的变换啊.提示字符的显示啊.运行文件搜寻的路径啊等等的那么,既然环境变量有那么多的功能,问一下,目前我的 shell 环境中, 有 ...

  10. C#中的两种debug方法

    这篇文章主要介绍了C#中的两种debug方法介绍,本文讲解了代码用 #if DEBUG 包裹.利用宏定义两种方法,需要的朋友可以参考下   第一种:需要把调试方法改成debug代码用 #if DEBU ...