SanmerApps/PI
说明与用途
**项目简介**
SanmerApps/PI(PackageInstaller)是一个用 Kotlin 编写的 Android 库,提供统一、可扩展的 APK 安装与卸载接口,帮助开发者在自研应用或企业内部工具中实现“一键包管理”。
**价值主张**
- **统一化安装流程**:封装了系统级的 PackageInstaller API,简化了权限申请、回调处理和安装状态监控,降低了手动实现的出错概率。
- **可定制的工作流**:提供回调钩子和插件点,便于与内部业务(如 OTA 更新、内部应用分发平台)深度集成。
**典型接入方式**
- **Gradle 引入**:在项目的
build.gradle.kts中添加implementation("com.sanmerapps:pi:<latest-tag>")。 - **初始化**:在 Application 或对应模块的
onCreate中调用PackageInstaller.init(context)。 - **使用 API**:
val installer = PackageInstaller.getInstance()
installer.installApk(uri) { result ->
when (result) {
is InstallResult.Success -> Log.d(TAG, "安装成功")
is InstallResult.Failure -> Log.e(TAG, "安装失败: ${result.error}")
}
}- **自定义回调**:实现
InstallListener接口,接入日志、统计或 UI 提示等业务需求。
**生产可用性**
- **成熟度**:GitHub ★690、Fork 23,最近一次提交于 2026‑06‑27,代码活跃且已在多个内部项目中使用,属于 **中等** 生产就绪度。
- **适用场景**:原型验证、内部渠道分发或受控环境下的自动化安装非常合适;若用于面向外部用户的正式发布,需要额外进行:
- 依赖安全审计(检查是否使用了受限的系统 API)。
- 兼容性测试(不同 Android 版本、厂商定制系统)。
- 维护计划(关注上游更新频率与潜在 API 变更)。
- **接入成本**:元数据中未提供完整的集成指南,建议在正式采用前进行一次手动评审和小范围试点,以确认安装流程、权限要求以及错误处理是否符合业务需求。
综上,SanmerApps/PI 是一个在原型和内部工具中快速实现 APK 包管理的实用库,接入门槛低,但在生产环境使用前仍需进行充分的兼容性与安全性验证。
实际用途
SanmerApps/PI may be useful when its README and activity match a concrete workflow.
限制与审查说明
Medium: useful for prototypes or internal workflows, with dependency and maintenance checks before production.
- 来源: github
- 语言: Kotlin
- 记录日期: 2026-09-05T17:32:03.769Z