Android PackageManager packages.xml文件格式
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文件格式的更多相关文章
- Android PackageManager基础知识
一.PackageManagerService启动过程 SystemServer首先启动,创建一个ServerThread线程来启动所有Android核心服务,其中PackageManagerServ ...
- android获取string.xml的值(转)
为什么需要把应用中出现的文字单独存放在string.xml文件中呢? 一:是为了国际化,当需要国际化时,只需要再提供一个string.xml文件,把里面的汉子信息都修改为对应的语言(如,English ...
- [转载]关于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同样的问题.怕 ...
- 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 ...
- 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 ...
- Android之androidmainfest.xml配置文件详解
写配置文件的时候我们会不知道把那些配置项放在哪里,请看: 配置文件样例: <?xml version="1.0" encoding="utf-8"?> ...
- 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 ...
- 关于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,然后就开始在网上找了好多 ...
- Android在layout xml中使用include
Android include与merge标签使用详解 - shuqiaoniu的博客 - 博客频道 - CSDN.NEThttp://blog.csdn.net/shuqiaoniu/article ...
随机推荐
- 399. Evaluate Division
图像题,没觉得有什么简单的办法,貌似可以用Union Find来解. 感觉有2种思路,一种是先全部构建好每2个点的weight,然后直接遍历queires[][]来抓取答案. 一种是只构建简单的关系图 ...
- 如何引入一个Schema 文件
Schema(掌握如何引入一个schema文件) * 名称空间 : 指的是一个环境,所用的标签来自于哪个环境定义的. * 掌握引用schema文件: xml中引入s ...
- Contact Form 7邮件发送失败的解决办法
一.contact form 7无法发送邮件的原因 对mail()函数的不支持. Contact Form 7表单提交失败在使用过程中会出现,归根结底原因在于wordpress主机问题,由于国 内很多 ...
- Android_adb使用
Android Debug Bridge version 1.0.26 - #当升级 Android SDK 后,ADB 也会随之升级. adb [-d|-e|-s {<serialNumber ...
- jquerymobile知识点三:弹出层popup
弹出层popup很简单,主要就是弹出验证,登陆注册,提交信息之类的,下面是我写好的一个demo... <div data-role="popup" id="popu ...
- Android开发具体解释之ListView具体解释一
列表ListView介绍和实例 1.ListView -- ListActivity -- ListAdapter 2.ArrayAdapter结合ListView进行显示 3.SimpleA ...
- 最简单的自定义适配器adapter
下面是一个非常简单的自定义适配器的总体源码,从这个源码入门,就可以慢慢学会适配器了 适配器的作用: 完成数据和界面控件的绑定,把数据绑定到界面的现实控件条目上(对于listView,应该是listVi ...
- telnet的使用
1.要打开 telnet 不是内部或外部 命令 解决方案: 程序添加删除功能,添加即可 或法二 C:\WINDOWS\system32\telnet.exe (或用C:\WINDOWS\system3 ...
- 购买SSD固态硬盘须当心,你知道什么是SLC、 MLC、TLC闪存芯片颗粒吗?
固态硬盘凭借其存取速率超快等自身优势,被越来越多的电脑爱好者所青睐,并迅速普及到了广大用户的电脑中,因为固态硬盘与传统机械硬盘相比,确实在运行效率等方面有了质的提升,但是亦是美网络小编要提醒大家的是, ...
- SQL中存储过程的例子
导读:sql存储是数据库操作过程中比较重要的一个环节,对于一些初学者来说也是比较抽象难理解的,本文我将通过几个实例来解析数据库中的sql存储过程,这样就将抽象的事物形象化,比较容易理解. 例1: cr ...