面向 MatePad 11 / 鸿蒙 4.2 Android 兼容层的本地 APK 更新工具。应用会扫描已安装的第三方 Android 应用,从官网、GitHub Releases、F-Droid 或用户绑定的 HTTPS 链接检查更新,并在安装前严格验证包名、版本号、签名和 CPU 架构。
- 扫描第三方应用,不上传应用清单。
- 内置 QQ、微信、小红书、抖音、哔哩哔哩、网易云音乐、网易UU远程和 Clash Meta 来源;QQ 和抖音优先选择官方 64 位安装包,UU 远程会刷新官网生成的临时下载地址。
- Edge 与 Chrome 只扫描版本,不自动使用第三方镜像。
- 支持官网静态页面、GitHub 项目、F-Droid 和 APK/XAPK 直链绑定。
- APK/XAPK 下载进度、SHA-256、包名、
versionCode、签名轮换与 ABI 校验。 - XAPK 的 ARM64、屏幕密度和语言拆分包选择;拒绝 OBB、APKM、APKS 和路径穿越。
- 通过 Android
PackageInstaller.Session安装,始终保留系统确认界面。 - Room 保存来源绑定,DataStore 保存本地设置;无账号、广告、分析或后台定时任务。
要求 JDK 17 和 Android SDK 35。在 local.properties 中指定 SDK:
sdk.dir=D:/code_tool/android-sdk运行单元测试和调试构建:
$env:JAVA_HOME='D:\code_tool\jdk-dist\jdk-17.0.20+8'
$env:GRADLE_USER_HOME='D:\code_tool\gradle-cache'
.\gradlew.bat testDebugUnitTest lintDebug assembleDebug正式签名配置见 release-signing.properties.example。正式密钥和密码不得提交到源码仓库;丢失密钥后,已安装的正式版本将无法被后续版本覆盖升级。
下载来源只决定“从哪里获取候选文件”,不代表候选天然可信。每个文件仍必须满足:
- 包名与目标应用一致;
versionCode严格高于已安装版本;- 当前签名相同,或新包的 Android 签名轮换历史包含已安装应用的当前签名;
- 原生库与设备 ABI 兼容;
- XAPK 结构和拆分包均有效。
Android 系统安装器还会再执行一次平台级签名和包结构检查。
- 厂商网页如果依赖 JavaScript、验证码或反爬机制,应用会要求用户粘贴最终下载直链。
- Edge 与 Chrome 没有稳定的厂商 APK 直链,默认显示“需要绑定来源”。
- F-Droid 重新签名的应用无法覆盖由其他渠道签名的同包名应用,下载后会被安全校验拦截。
- 首版不处理 XAPK 中的 OBB 数据,也不支持 APKM/APKS。
- 普通非 Root 应用不能静默安装,每次升级都需要系统界面确认。