SDKHotFix

关键词

Android-HoxFix-SDK-Native-Java(Android 上SDK的代码热更方案)

README介绍项目相关的一些核心内容,个人会陆续通过一系列文档来介绍这个项目的实现原理及运行方法的详细内容。如想了解更多细节,请点击http://blog.bihe0832.com/sdk_hotfix_project.html前往个人博客了解。

一、项目介绍

继插件化后,热补丁技术在2015年开始爆发,目前已经是非常热门的Android开发技术。关于热更新以及这些方案的优缺点,之前微信团队已经分享过,而且分析的很好,因此这里就不重点介绍了。感兴趣的同学可以点击了解:微信Android热补丁实践演进之路

目前的热更新方案中比较著名的有淘宝的Dexposed、支付宝的AndFix以及Qzone的multidex和微信的tinker。然而这些热更新方案基本上都有以下两个特点:

  1. 都是APP级别的的热更新解决方案,对于SDK的开发者来说很多地方需要一些调整
  2. 在理解、开发上成本都比较高;而且很多更多的是方案的推广。

因此为了解决SDK的热更新方案,也为了方便大家了解Android热更新,因此开发这个项目。

该项目主要是提供给SDK的开发者使用,提供了SDK开发者如何实现SDK自身热更新(包括Java代码和Native),如果是APP的开发者了解应用的热更新,建议参考dodola的HotFix项目,里面介绍的更全面。

为了降低项目的理解难度,关于java热更新,该项目暂时不会涉及怎么管理版本号、同时将怎么在代码中插桩、怎么生成版本差异包、怎么将差异包编为dex文件等内容封装在构建脚本中,这部分内容在体验时可以不用关注。

由于本项目重点介绍重点SDK的热更新相关的内容,因此项目中的代码虽然是实现简单的功能,但是使用了SDK和demo等多个项目以及java和Native多层调用。本项目中不会再介绍SDK相关的内容,建议可以先通过下面的链接了解这个项目的结构,然后再看热更新项目的内容,点击了解Android-gradle-jni-so

二、体验Demo

个人博客的SDK热更之Demo体验方法:http://blog.bihe0832.com/sdk_hotfix_demo.html中介绍了SDK的热更项目的详细体验方法,包括项目运行、补丁生成、热更效果验证等,大家可以前往博客查看。其中直接下载的方式,补丁包已经放在作者的服务器,体验时直接下载安装APK即可。这里仅附上直接体验方式的apk现在地址:

Demo下载二维码

三、工程介绍

代码目录简介

SDKHoxFix
    │
    ├─── BuildPatch SDK自动插桩、自动生成补丁的插件工程
    │
    ├─── DemoRes 目前线上的demo使用的相关补丁内容
    │
    ├─── GradleTest 普通的Android应用工程,调用了SDK提供的相关函数,也就是SDK的使用者
    │
    ├─── MD5 SDK项目的工程,最终打包后对外提供jar包和so,本项目主要也是介绍他的热更新
    |
    ├─── build.sh SDK相关的自动构建脚本,生成SDK的jar、so、Demo、补丁文件
    │
    └─── README.md 项目介绍

运行方法

如何修改配置及运行工程,请参考本人博客:终端基于gradle的开源项目运行环境配置指引

代码介绍

四、其他

参考及引用