美文网首页
android增量更新简单实现(自用)

android增量更新简单实现(自用)

作者: 风二叽 | 来源:发表于2021-06-01 18:43 被阅读0次

1.增量更新:通过差分工具生成两个不同版本的包的差分包,当需要时可以通过老包和差分包生成新的包

    全量更新:直接给一个完整的安装包,当差分包很大或者版本太多时,采用全量更新

 2.差分包生成:BsDiff库:自己下载源码编译生成window版本exe工具,或者通过cgyWin64直接在安装时搜索BsDiff进行安装

                          生成差分包:bsdiff old.apk new.apk diff.patc

                          旧包和差分包合成新包:bspatch old.apk new.apk diff.patch

          BsDiff算法(差量更新算法)思想:

                利用old文件中内容,尽可能少加入新内容来构建新包。思路是对两个包做子字符串匹配或用hash技术提取公共部分,将新包的剩余的部            分打包成patch包,生成新包时用copying和insertion合成。

3.根据差分包生成新包: 1.用BsDiff的BsPatch 2.用ApkPatchLibrary

  4.ApkPatchLibrary合成新包:(github地址:https://github.com/cundong/SmartAppUpdates)

                              1.配制ndk环境变量,把源码下载,c文件mk文件还有native方法的配置都有现成,进入ApkPatchLibrary\jni中,cmd->ndk-build,                                       编译生成libApkPatchLibrary.so导入到android工程中(不会编译so文件的百度)

                              2.在java文件夹下面创建名为com.cundong.utils的包,创建PatchUtils工具类,定义patch native方法

                              3.加载so库

                                  static {

                                          System.loadLibrary("ApkPatchLibrary");

                                  }

                              4.服务器获取新老版本的md5,校验老版本的md5,获取应用程序自身apk路径      

                              5.根据路径跟patch的路径,调用PatchUtils.patch()native方法生成新包

                              6.校验新包md5

    *                        

                      7.安装新包

相关文章

  • android增量更新简单实现(自用)

    1.增量更新:通过差分工具生成两个不同版本的包的差分包,当需要时可以通过老包和差分包生成新的包 全量更新:直接...

  • 一、NDK:增量更新

    增量更新在Android开发中是一种很常见的技术。 增量更新的原理 增量更新的原理非常简单,就是将本地apk与服务...

  • ReactNative热更新&拆包

    目录 1)全量热更新-Android 2)拆包增量更新-Android 3)图片增量更新-Android 4)全量...

  • Android 实现增量更新

    一、概述 增量更新相较于全量更新的好处不言而喻,利用差分算法获得1.0版本到2.0版本的差分包,这样在安装了1.0...

  • Android 增量更新实现

    如果app依赖本地更新,更新比较频繁的话,每次更新都要让用户下载完整安装包,用户体验会比较差。目前,很多应用商店都...

  • android 增量更新

    android增量更新 android 4.1开始 google引入了应用程序的增量更新。增量更新的原理实际上是使...

  • 全网最简单的Android差异化更新实现

    我们来完成一个简单的一B,没那么多学术问题的Android增量更新的实现。对,你没看错,今天没有图!因为太简单了,...

  • Android 增量更新实现(Bsdiff)

    一,增量更新的原理,主要是根据新旧包生成差分包,这个差分包由服务器端生成,客户端下载,下载完成后,进行合并,合并成...

  • Android 增量更新的实现

    扯淡 最近闲来无事,学习了一下增量更新。 增量更新的概念就不扯了,有兴趣的看一下鸿洋大神的文章Android 增量...

  • Android 如何实现增量更新

    什么是增量更新? 现在的APP安装包体积越来越大,几百兆甚至上G的,当APP更新时不再是消耗大量的流量下载一个完整...

网友评论

      本文标题:android增量更新简单实现(自用)

      本文链接:https://www.haomeiwen.com/subject/mxkgsltx.html