Git Product home page Git Product logo

androidbsdiffupdate's Introduction

androidBsdiffUpdate

大家好。我是brok1n

这是我基于bsdiff二进制差分库修改而成的安卓客户端增量更新工具。

用这个工具。可以实现Bsdiff二进制差分工具的 差分包和旧版本文件合并成新版本文件的工作。

bsdiff是一个二进制差分工具。可以比较两个文件之间的差异。生成一个补丁文件。 使用这个补丁文件和一个文件。可以生成另一个文件。说的有点绕口了。 bsdiff这个工具具体介绍大家可以在网上找找

简单来说。在安卓版本更新中。可以使用这个增量更新。减小软件更新时需要下载的数据

在安卓版本更新中的运用是 首先有一个旧版本Apk 和一个 新版本Apk 使用bsdiff的差分工具。可以检测出这两个文件的不同之处。 差分工具可以把这个不同之处。写入一个文件中。这个文件就是补丁文件 或者叫 补丁包

我们客户端装了一个旧版旧版本程序 当需要发布新版本时。将旧版本Apk文件和新版本apk文件做差分处理。 生成补丁包 将 补丁包 上传到服务器。 客户端需要更新时。只需要下载这个补丁包,下载到本地后。 使用bsdiff差分库的 patch 合并功能。将补丁包和旧版本Apk文件。生成新版本的apk文件。 这个生成出来的新版本apk文件和要发布的新版本apk文件是一样的。

使用上面这种流程。我们客户端在检测到新版本时,就直接下载补丁包就可以了。

这个生成的补丁包。在常规的版本升级中。补丁包会比新版本apk文件小很多。 这样。客户端就可以减少下载的数据。加快版本更新下载,减少等待时间。减少手机使用的流量。

我这个项目。就是把bsdiff的 patch 合并工具 拆分出来。放在安卓程序里使用。

我这里是用ndk在eclipse下编译的。项目里有编译好的so文件。大家可以直接使用。

项目里也有个activity 简单的写了一下怎么使用这个 patch 合并工具

大家也可以看看我的csdn博客。我会在博客里。讲一下这个大概的用法。我的博客地址 http://blog.csdn.net/brok1n/article/details/50406774

顺便我也把我写的demo放上来。大家稍作参考。

我的邮箱: [email protected]

androidbsdiffupdate's People

Contributors

brok1n avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.