PMS API更新时间:2026-05-22 21:10:23
PMS API
Package Manager Service(PMS)是 openvela XMS 系统中的包管理模块。
功能特性
- 提供包安装功能
- 提供包信息查询能力
- 提供包卸载能力
示例
通过命令行进行包管理
安装包:
pm install [packagename]
查询已安装的包:
pm list
通过源码使用包管理工具
安装包:
#include <pm/PackageManager.h>
PackageManager pm;
InstallParam parms;
pm.installPackage(parms);
获取所有包信息:
#include <pm/PackageManager.h>
PackageManager pm;
std::vector<PackageInfo> pgInfos;
pm.getAllPackageInfo(&pgInfos);
卸载包:
#include <pm/PackageManager.h>
PackageManager pm;
UninstallParam parms;
pm.uninstallPackage(parms);
核心类
PackageManager
头文件:#include <pm/PackageManager.h>
客户端侧访问 PMS 能力的门面类。提供的主要操作:
- installPackage(InstallParam) — 安装应用包
- uninstallPackage(UninstallParam) — 卸载应用包
- getAllPackageInfo(std::vector<PackageInfo>*) — 查询所有已安装包信息
- getPackageInfo(packageName, PackageInfo*) — 查询指定包信息
- getAllPackageName(std::vector<std::string>*) — 查询所有已安装包名
- getPackageSizeInfo(packageName, ...) — 查询包占用空间
- clearAppCache(packageName) — 清理应用缓存
- isFirstBoot() — 查询是否首次启动
应用通常构造 PackageManager 实例后直接调用上述方法,内部通过 Binder 与 PackageManagerService 通信。
PackageManagerService
头文件:#include <pm/PackageManagerService.h>
PMS 的服务端实现类,注册为系统服务。负责维护已安装包的元数据、执行实际的安装/卸载动作、处理权限与签名校验。开发者一般不直接使用该类。
PackageInfo
头文件:#include <pm/PackageInfo.h>
描述单个安装包元数据的结构。主要字段包括:
- packageName / name — 包名与应用名
- version / priority / appType — 版本、优先级与应用类型
- installedPath / installTime / size — 安装路径、安装时间与占用大小
- execfile / entry / manifest — 可执行文件、入口与清单
- activitiesInfo / servicesInfo — 内部 Activity 与 Service 列表
- shasum — 签名摘要
- userId / isSystemUI — 用户 ID 与是否系统 UI
- windowEnterAnim / windowExitAnim — 窗口进入/退出动画配置
PackageManager 的查询接口返回该类型的结果。
PackageTrace
头文件:#include <PackageTrace.h>
PMS 的 trace 打点宏集合,用于跟踪包管理操作路径,配合 openvela trace 工具分析性能。
文档内容是否有帮助?
有帮助
无帮助