80,352
社区成员
发帖
与我相关
我的任务
分享
/data/system/packages.xml这个文件由PackageManagerService.java生成,里面记录了系统当中安装的APK的所有属性,权限等信息。当系统中的APK安装、删除、升级时,文件就会被更新。
<permissions>标签定义了目前系统中定义的所有权限。主要分为两类:系统定义的(package属性为Android)和APK定义的(package属性为APK的包名)。
<package>代表一个APK的属性,它的属性含义如下。
name:APK的包名
codePath:安装路径。有/system/app系统APK和/data/app两种。/system/app存放系统出厂时预置的一些APK,/data/app存放用户安装的第三方APK。
system:如果APK被安装在/system/app下,system的值为true;安装在/data/app下面的话,值为true。
ts:时间戳
version:APK的版本号
sharedUserId/userId:Android系统启动一个普通的APK时,会为这个APK分配一个独立的UID,这就是userId。如果APK要和系统中其它APK使用相同的UID的话,那就是sharedUserId。关于共享UID,下面有更详细的描述。
perms:APK的AndroidManifest.xml文件中,每使用一个<uses-permission>标签,<perms>标签中就会增加一项。
<shared-user>代表一个共享UID,通常,共同实现一系列相似功能的APK共享一个UID。<perms>标签中的权限代表了这个共享UID的权限,所有使用的同一个共享UID的APK运行在同一进程中,这个进程的UID就是这个共享UID,这些APK都具有这个共享UID的权限。
name:共享UID的名字,在APK的Android:sharedUserId属性中使用。
userId:使用这个共享UID的所有APK运行时所在的进程的UID。
本篇文章来源于 Linux公社网站(www.linuxidc.com) 原文链接:http://www.linuxidc.com/Linux/2011-03/33281.htm
PRC Invention Application Publication (Source: SIPO)
Publication No. CN 102012832 A published on 13-Apr-2011
Application No. CN 201010587511.X filed on 14-Dec-2010
Abstract (Chinese)
本发明涉及操作系统领域,公开了一种加速Android系统启动的方法及装置。本发明通过将Android系统全部apk包的列表信息保存在设备存储介质的文件中,在系统重新启动的时候直接读取该文件中的列表信息,在内存中建立apk包的信息列表代替逐个扫描、解析apk包的方法,节约apk包的扫描、解析时间,从而使Android系统能够快速的启动。
Inventors
邹海超
Applicants
TCL集团股份有限公司
516001 广东省惠州市鹅岭南路6号TCL工业大厦8楼技术中心
Classifications
International (2006.01): G06F 9/445
Attorney, Agent or Firm
深圳市君胜知识产权代理事务所 44268 [+2] [-2]
王永文
杨宏
如果你是要定制自己的版本的话,你得看下PackageManagerService.
/data/system/packages.xml
这个文件是在扫描解析/system/data/ /data/data/二个主要文件夹时生成的,
方法好像叫writeLP
如果你不想一些东西就可以把一些APK先去掉。
还有要说的是,上边一个人说解析APK时间不是最长,还真的是最长的,解析AndroidManifest.xml和生成dex文件,安装真的很费时。加载class,resource时间反不是最长的。
看了好久了,就记的这些了,希望对你有用;