Android增量升级的方法和原理

简介: 总结: 我们使用delta编码算法减少Android应用升级程序的大小。我们通过bsdiff和bspatch工具在android上实现delta编码算法。

总结:

我们使用delta编码算法减少Android应用升级程序的大小。我们通过bsdiffbspatch工具在android上实现delta编码算法。服务器软件和android应用已经部署。当前,我们能够减少Android升级流量的50%,如果大量的部署,这将会减少网络的压力。

 

升级机制:

我们打算采用delta编码的patch升级Android应用。新的升级机制可以描述如下:

 

1、  在服务器上生成一个patch

2、  下载patch到手机中。

3、  通过补丁获取一个已安装应用的新的安装apk

4、  安装应用的新版本并删掉旧的版本和patch

 

统计数据:

我们当前正在研究应用怎样在android中升级。这个研究结果将允许我们在新的升级机制下节约大量的流量。我们创建了一个android应用用来收集统计数据(可能会用于将来的研究)。

应用会收集以下数据:

1、  应用的名字,版本,大小和每个应用最后升级的时间。

2、  统计Wifi3G的链接状态。

 

谷歌增量升级技术:

 

在谷歌2012 I/O大会上宣布Google Play Stroe的增量升级技术。它始于八月中旬。他们使用跟我们相同的升级机制。比较两个应用的不同,并将patch部署在终端上。

 

根据我们的统计,patch文件的平均大小为应用的34%

 

用到的软件:

为了完成在服务器上部署patch软件和在手机上部署patch和升级应用。在服务器端我们使用bsdiff工具。在android,我们使用bspatch工具。

目录
相关文章
|
3月前
|
Android开发 Python
Python封装ADB获取Android设备wifi地址的方法
Python封装ADB获取Android设备wifi地址的方法
59 0
|
8月前
|
Android开发
Android RecyclerView的notify方法和动画的刷新详解(二)
Android RecyclerView的notify方法和动画的刷新详解
135 0
|
14天前
|
Android开发
Android调用相机与相册的方法2
Android调用相机与相册的方法
17 0
|
2月前
|
Java 开发工具 Android开发
[Android AIDL] --- AIDL原理简析
[Android AIDL] --- AIDL原理简析
31 0
|
3月前
|
安全 Java 数据安全/隐私保护
Android和iOS应用程序加固方法详解:混淆、加壳、数据加密、动态加载和数字签名实现
Android和iOS应用程序加固方法详解:混淆、加壳、数据加密、动态加载和数字签名实现
63 0
|
8月前
|
Android开发
Android PackageManagerService源码分析和APK安装原理详解
Android PackageManagerService源码分析和APK安装原理详解
195 1
|
8月前
|
Android开发
Android LayoutInflater.from(context).inflate()方法的作用
Android LayoutInflater.from(context).inflate()方法的作用
47 0
|
4月前
|
存储 Java 开发工具
[Android]序列化原理Parcelable
[Android]序列化原理Parcelable
45 0
|
4月前
|
存储 Java Android开发
[Android]序列化原理Serializable
[Android]序列化原理Serializable
44 0
|
4月前
|
XML JSON Android开发
[Android]使用JSONObiect和Gson相关方法实现json数据与kotlin对象的相互转换
[Android]使用JSONObiect和Gson相关方法实现json数据与kotlin对象的相互转换
52 0