获取系统信息之Packages.xml文件

Android开机启动的流程中,在系统初始化的时候,PackageManager底层实现类PackageManagerService会去扫描系统中一些特定的目录,并解析其中的APK文件,同时,Android系统把它获取的应用信息,保存在XML文件中,所以系统应用的信息都可以通过解析这个XML文件去查看,当系统中的Apk安装,删除,升级时,这个文件都会被更新,它位于/data/system/目录下,命名为packages.xml文件.

  • < permissions>
    该标签下定义了目前系统中所有权限,并分为两类:系统定义的(package属性值为android)和apk定义的(package属性值为apk包名)
  • < package>
    该标签代表了一个apk属性,其中节点信息的含义如下:
    name:  apk的包名;
    codepath: apk的安装路径,主要有/system/app 和/data/app两种,前者存放系统级别的应用或者厂商定制的apk,后者存放用户安装的第三方apk
    userid: 用户ID
    version:版本号
  • < perms>
    对应apk的AndroidManifest文件中<user-permission>标签,记录apk的权限信息.
    通过packgaes.xml文件中的这些标签,可以获取设备中很多应用信息,通常在开发系统层的时候,能够发挥很大的价值.

你可能感兴趣的:(获取系统信息之Packages.xml文件)