Android 开发之系统 packages 文件解析

Android 开发之系统 packages 文件解析,第1张

Android 系统中保存 app 信息的两个配置文件, packages.xml 和 packages.list ,此两个文件的初始路径为: /data/system/packages.xml 和 /data/system/packages.list 。系统中所有安装的app的基本信息在这里都能体现出来。这里以Android 6.0为基础来分析, 不同的Android版本, 可能内容会稍有出入, 但是基本上是相同的。

packages.list 文件位于 /data/system 目录下,该文件记录了系统中所有应用程序的基本信息,包含如下基本信息:

该文件的内容和格式相对简单,内容格式如下:

打开 packages.xml 文件,会发现这个文件非常的长,所以先列出这个文件的框架,以便对它有个整体的认知。

2.1 permissions

permissions块的类容如下:

它里面定义了系统中所有的申明的权限信息, 每个 item 块代表一个权限。name 表示权限的名字, package 表示申明权限的package, protection表示权限的级别, 如normal, dangerous之类的

2.2 keyset-settings

先看看keyset-settings块的内容:

另:

2.3 package

package 块内容如下:

package 块里包含了每个 app 的详细信息, 具体说明如下:

2.4 shared-user

以 android.uid.system 为例。

2.5 updated-package: 代表更新后的包信息。举个栗子:

cfg是config的简写,即配置的意思,就是说这些文件一般为程序的配置文件。cfg文件里面的内容大多数时候也确实是文本。可以用任何文本编辑器打开,比如QUAKE的config.cfg。不妨用记事本打开看看,如果出现乱码,则不要去动它。

大多数情况下,很多程序都要保存用户的设置,办法有很多:注册表,日志文件..... 而很多程序都使用了一个专用的文件。为了方便起见,常常命名为*.cfg,有时甚至直接命名为Config.cfg。cfg文件里面的内容大多数时候也确实是文本。可以用任何文本编辑器打开,比如QUAKE的config.cfg。不妨用记事本打开看看,如果出现乱码,则不要去动它。

这只是一个为开发及使用方便而发明的一个后缀名。所以,这种文件没有固定的格式,其实也并不能算作是一种文件类型。用途也仅仅是保存用户的设置,平常没有必要打开。同样,为了方便起见,里面的内容大多数时候也确实是文本。可以用任何文本编辑器打开,比如QUAKE的config.cfg。不妨用记事本打开看看,如果出现乱码,则不要去动它。

智能手机中的文件:CFG 是一个引导文件, CFG 和TFS文件放在同一文件夹中,相当于程序里的头文件。tfs的cfg文件,可以用resource manager 生成。

values-v11代表在API 11+的设备上,用该目录下的styles.xml代替res/values/styles.xml,其中API 11+代表android 3.0 +。

values-v14代表在API 14+的设备上,用该目录下的styles.xml代替res/values/styles.xml,其中API 14+代表android 4.0 +。

Android是一种基于Linux的自由及开放源代码的 *** 作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。

其中:

①values-v11表示3.0及以上版本都会使用这里面的配置文件。

②values-v14表示4.0及以上版本都会使用这里面的配置文件。

③values-v9  ,values-v8,values-v1这些也都是有的,只不过很少用罢了。

④values-v11用的比较多,是因为3.0版本就是为pad而专门设计的,所以一般这个都需要一些单独的配置。同时考虑到4.0以上的版本还是以手机为主,所以需要再添加一个values-v14。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11447911.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存