API 参考
Packages
列出已安装的应用、查看 APK 元数据并管理标签。
类型定义
bash
type Package {
id: ID! # package name e.g. "com.example.app"
name: String! # display name
type: String! # "user" | "system"
version: String! # "versionName (versionCode)"
path: String! # APK path
size: Int! # bytes
certs: [PackageCert!]!
installedAt: String! # ISO 8601
updatedAt: String!
tags: [Tag!]!
}
type PackageCert {
issuer: String!
subject: String!
serialNumber: String!
validFrom: String!
validTo: String!
}
type PackageStatus {
id: ID! # package name
installed: Boolean!
updatedAt: String # ISO 8601, null when not installed
}
type PackageInstallPending {
packageName: String!
updatedAt: String!
isNew: Boolean!
}操作
query
packages
搜索已安装的包。查询留空可列出全部。
bash
query GetPackages($offset: Int!, $limit: Int!, $query: String!, $sortBy: FileSortBy!) {
packages(offset: $offset, limit: $limit, query: $query, sortBy: $sortBy) {
id name type version path size
certs { issuer subject serialNumber validFrom validTo }
installedAt updatedAt
tags { id name }
}
}query
packageStatuses
查找包名列表的安装状态和 updatedAt 时间戳。
bash
query GetPackageStatuses($ids: [ID!]!) {
packageStatuses(ids: $ids) { id installed updatedAt }
}query
packageCount
统计匹配查询的包数量。
bash
query GetPackageCount($query: String!) {
packageCount(query: $query)
}mutation
installPackage
按绝对文件路径安装(或更新)APK。返回包名、最后更新时间以及该包是否为新安装。
bash
mutation InstallPackage($path: String!) {
installPackage(path: $path) { packageName updatedAt isNew }
}mutation
uninstallPackages
为每个包 ID 启动系统卸载提示。用户须在设备上确认。
bash
mutation UninstallPackages($ids: [ID!]!) {
uninstallPackages(ids: $ids)
}