Nobellcq / XeonBsDiff

Android端文件增量更新实现

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

XeonDiff

超简单在Android端通过bsdiff实现件差分与文件合并。快速实现增量更新功能

先上图:

生成补丁包

生成补丁包

合并补丁包 合并补丁包

产生的文件: 产生的文件

代码示例:

1.添加依赖

查看最新版本 https://search.maven.org/artifact/io.github.yuzhiqiang1993/xeon_bsdiff

implementation "io.github.yuzhiqiang1993:xeon_bsdiff:1.0.1"

2.生成补丁包

/*生成补丁包,耗时操作,记得放在子线程  返回值 0表示成功*/
val result = XeonBsDiffUtil.bsdiff(
    newFile.absolutePath,//新文件path
    oldFile.absolutePath,//旧文件path
    patchFile.absolutePath//补丁文件path
)

3.合并补丁包

/*合并补丁包,耗时操作,记得放在子线程  返回值 0表示成功*/
val result = XeonBsDiffUtil.bspatch(
    oldFile.absolutePath,
    patchFile.absolutePath,
    combineFile.absolutePath
)

4.合并补丁包后记得对比下新文件和合并后文件的MD5值, MD5值一致表示成功。

如果需要自己生成so库,请看博客: https://blog.csdn.net/yuzhiqiang_1993/article/details/121317195

source目录中有bzip和bsdiff源码文件。

About

Android端文件增量更新实现

License:MIT License


Languages

Language:C 91.5%Language:Makefile 3.3%Language:Kotlin 3.2%Language:C++ 1.0%Language:CMake 1.0%