博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
增量更新
阅读量:6803 次
发布时间:2019-06-26

本文共 1035 字,大约阅读时间需要 3 分钟。

--摘自《android插件化开发指南》

1.制作插件的增量包:使用bsdiff(百度搜官网)最好在win系统下使用

bspatch old.apk名 new.apk名 mypatch.diff增量文件名

然后把mypatch.diff放到服务器上供下载使用

2.下载解压记得申请SDCard的权限

3.App合并增量包

制作工具ApkPatchLibrary 

这是一个so库,要放在armeabi目录下,然后新建一个类com.cundong.utils.PatchUtils.java(固定的)

public class PatchUtils {    /**     * native方法 使用路径为oldApkPath的apk与路径为patchPath的补丁包,合成新的apk,并存储于newApkPath     *      * 返回:0,说明操作成功     *      * @param oldApkPath 示例:/sdcard/old.apk     * @param newApkPath 示例:/sdcard/new.apk     * @param patchPath  示例:/sdcard/xx.patch     * @return     */    public static native int patch(String oldApkPath, String newApkPath,                                   String patchPath);}

在宿主MainActivity中调用

--静态函数static {    System.loadLibrary("ApkPatchLibrary");}
---解压缩之后try {    int patchResult = PatchUtils.patch(oldApkPath, newFilePath, patchFilePath);    if(patchResult == 0) {        Log.e("bao", patchResult + "");    }}catch (Exception ex) {    ex.printStackTrace();}

newFilePatch是合并后的apk文件

注意:如果两个大版本之间有很多小版本,那么要针对这些小版本都要生成对应的增量包,最好用脚本来写,这里就要注意版本号

转载地址:http://htjwl.baihongyu.com/

你可能感兴趣的文章
IE8的开发者工具
查看>>
2014最新苹果开发者账号注册流程图解分享
查看>>
Filter
查看>>
DOM之基础简介
查看>>
漫谈可视化Prefuse(三)---Prefuse API数据结构阅读有感
查看>>
STM32 fft加窗的问题(汉宁窗)
查看>>
获取一个对象的引用次数
查看>>
Java基础-循环(2)和方法
查看>>
java枚举 用于声明持久化常量 和volley 请求头
查看>>
Fiddler抓包_重定向AutoResponder
查看>>
常量、变量;基本数据类型;input()、if、while、break、continue
查看>>
C++实现线性表的链接存储结构(单链表)
查看>>
插件-鼠标或手指滑动事件
查看>>
每天读一遍,思考一下:我是否浮躁?
查看>>
编译器警告:未调用原型函数(是否是有意用变量定义的?)
查看>>
react-router 4.3 js实现跳转
查看>>
软件定义网络文章列表
查看>>
快速查询Python脚本语法
查看>>
Windows gitweb安装
查看>>
ZendS Studio代码索引跟踪
查看>>