android用什么包管理器,Android 包管理服务

PackageManagerService(PmS)是Android系统服务,负责应用的安装、卸载、组件查询和权限管理。它在启动时读取AndroidManifest.xml和权限管理文件构建包信息树,并通过Intent匹配Activity、Provider和Service。关键方法包括readPermission()、mSettings.readLP()、mSettings.writeLP()和scanPackageLI()。PmS在SystemServer启动时创建,并在系统升级时重新设置应用程序权限。
摘要由CSDN通过智能技术生成

PackageManagerService(PmS)包管理服务运行在SystemServer进程中,是一个安卓系统服务,主要用于实现应用安装卸载,组件查询匹配,权限管理等功能。

主要功能

根据Intent匹配到具体的Activity,Provider,Service,即当应用程序调用startActivity(intent)方法时,能够把Intent转换成一个具体的包含程序名称及Component的信息,以便类加载器加载具体的Component。

权限检查,当应用程序调用某个需要特定权限的接口时,判断调用者是否有该权限

提供安装删除应用程序的接口

实现原理

应用安装时读取应用程序AndroidManifest.xml中的标签比如,request-feature、permission并将其保存在指定目录文件下,PmS在启动时会读取这些xml文件建立起一个包信息树,应用程序可以间接的从信息树种查到所需要的程序包信息。

两个目录

1./data/system/package.xml文件记录系统中所有应用程序包管理相关信息,比如程序包名称是什么,安装包路径在哪里,程序都使用了哪些权限,等等。

2./system/etc/permissions/文件夹下保存的xml文件用于应用程序权限管理。

PmS在启动时会读取这两个文件来构建应用程序包信息树。PmS读取的数据会存在其内部类变量中。

数据结构

PmS的内部类Settings基本上包含了包管理所需要的全部信息,该类主要包含几类变量:

包属性信息,包括packages.xml配置文件,配置文件备份,应用程序列表文件

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值