Skip to content

Repository files navigation

Mate 更新助手

面向 MatePad 11 / 鸿蒙 4.2 Android 兼容层的本地 APK 更新工具。应用会扫描已安装的第三方 Android 应用,从官网、GitHub Releases、F-Droid 或用户绑定的 HTTPS 链接检查更新,并在安装前严格验证包名、版本号、签名和 CPU 架构。

下载最新正式版 APK

已实现功能

  • 扫描第三方应用,不上传应用清单。
  • 内置 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。正式密钥和密码不得提交到源码仓库;丢失密钥后,已安装的正式版本将无法被后续版本覆盖升级。

安全模型

下载来源只决定“从哪里获取候选文件”,不代表候选天然可信。每个文件仍必须满足:

  1. 包名与目标应用一致;
  2. versionCode 严格高于已安装版本;
  3. 当前签名相同,或新包的 Android 签名轮换历史包含已安装应用的当前签名;
  4. 原生库与设备 ABI 兼容;
  5. XAPK 结构和拆分包均有效。

Android 系统安装器还会再执行一次平台级签名和包结构检查。

已知限制

  • 厂商网页如果依赖 JavaScript、验证码或反爬机制,应用会要求用户粘贴最终下载直链。
  • Edge 与 Chrome 没有稳定的厂商 APK 直链,默认显示“需要绑定来源”。
  • F-Droid 重新签名的应用无法覆盖由其他渠道签名的同包名应用,下载后会被安全校验拦截。
  • 首版不处理 XAPK 中的 OBB 数据,也不支持 APKM/APKS。
  • 普通非 Root 应用不能静默安装,每次升级都需要系统界面确认。

About

MatePad 11 / HarmonyOS 4.2 APK update assistant

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages