比 Tinker 更全面?支持 SO + Assets + 加密签名的 Android 热更新库来了

45 阅读2分钟

大家好,我最近开源了一个 Android 热更新/热修复库 Android_hotupdate,目标是提供一个功能完整、安全可靠、易于集成的热更新解决方案。

🎯 核心特性

  • 全资源支持:支持 DEX、SO(Native 库)、Assets 三种资源的热替换,一次补丁解决多类型问题
  • 🔒 强大安全机制
    • APK 签名验证(基于 apksig)
    • SHA-256 完整性校验
    • AES-256-GCM 补丁加密(可自定义密码)
    • ZIP 密码保护(可选)
  • 🚀 开发友好
    • Gradle 插件一键生成补丁
    • 命令行工具支持 CI/CD 集成
    • Android SDK 支持设备端生成补丁
  • 📱 使用简单:只需在 Application 初始化几行代码,支持进度回调与错误监听
  • 🏗️ 模块化设计:核心逻辑、Native 处理、补丁生成完全分离,扩展性强
  • 🌐 Web 管理后台:支持补丁托管、版本管理、灰度发布、统计分析
  • 高性能:Native 引擎加速,补丁生成快 2-3 倍
  • 🎯 兼容性好:支持 Android 5.0+(API 21+),Apache 2.0 协议

📊 与主流方案对比

特性Android_hotupdateTinkerRobust
DEX 热更新
SO 库热更新✅ 完整支持⚠️ 部分支持
Assets 热更新
补丁加密✅ AES-256-GCM
签名验证✅ APK 签名⚠️ 需自行实现⚠️ 需自行实现
Web 管理后台
设备端生成
Gradle 插件

相比主流方案,它在 SO 和 Assets 支持上更全面,同时默认集成了加密和签名验证,能有效防止补丁被篡改。

🚀 快速开始

// 1. 添加依赖
dependencies {
    implementation 'io.github.706412584:update:1.3.3'
}

// 2. 初始化(Application 中)
HotUpdateManager.init(this, new HotUpdateConfig.Builder()
    .enableAutoCheck(true)
    .setCheckInterval(3600000)
    .build());

// 3. 应用补丁
HotUpdateManager.applyPatch(patchFile, new PatchCallback() {
    @Override
    public void onSuccess() {
        Toast.makeText(context, "补丁应用成功", Toast.LENGTH_SHORT).show();
    }
});

📦 项目地址

项目包含完整的 README、使用示例和 Demo,欢迎大家试用、提 Issue、Star 支持!⭐

🎬 Demo 演示

server-dashboard.png

📚 文档资源

💬 交流与反馈

如果有改进建议或使用问题,欢迎:

感谢大家的支持!🙏