# mypatch **Repository Path**: gzlpsdp/mypatch ## Basic Information - **Project Name**: mypatch - **Description**: App增量更新合并差分文件 - **Primary Language**: Android - **License**: AGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-06-27 - **Last Updated**: 2025-10-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # mypatch [![](https://jitpack.io/v/com.gitee.gzlpsdp/mypatch.svg)](https://jitpack.io/#com.gitee.gzlpsdp/mypatch) ## 介绍 App增量更新合并差分文件 ## 最新1.4版本 ``` implementation 'com.gitee.gzlpsdp:mypatch:1.4' ``` ### 在 `AndroidManifest.xml` 文件中设置 ``` ``` ### xml下的file_paths.xml文件内容如下 ``` ``` 修复可能出现内存泄漏的问题及提示信息,改变调用方式: ```java /** * 方法 * @param type 1、自动检查更新,0:手动检查更新 * @param packageNmae 包名 * @param apkPath 下载apk存放路径 * @param updateUrl app更新接口 */ public void appUpdate(int type, Context context, String packageNmae, String apkPath, String updateUrl) // 在您自己的程序中调用 /* this:当前上下文 getPackageName():您的程序包名 FilePathManager.getInstance(this).getExternalCacheDir().getPath():更新包下载的位置 updateCheckUrl:检查更新的路径,参考下面的检查更新返回数据 */ AppUpdate.getInstance().appUpdate(0, this, getPackageName(), FilePathManager.getInstance(this).getExternalCacheDir().getPath(), updateCheckUrl); ``` 文件下载链接 链接:https://pan.baidu.com/s/1fM0Y_YFtVKdyrq8FypUvrw 提取码:hog1 --生成差分文件 更具不同的版本生成不同的差分文件,一般是在后端实现(对比版本,不同版本生成不同的差分文件,放置不同的地方等逻辑),也可以直接在windows系统上通过cmd实现 ## 使用bsdiff-v4.3-win-x64.zip包进行差分 ``` cmd 使用bsdiff-v4.3-win-x64.zip包进行差分 bsdiff old文件 new文件 差分文件 ex:bsdiff old.apk new.apk my.patch ``` 差分文件和老的APK生成新的APK(new222.apk) ## 合并说明 合并差分文件一般在Android上实现,通过传递当前版本号到后端,后端找到对应的差分文件下载回app中,app进行差分文件合并成一个新的APK安装包,进行安装 ``` bsPatch old文件 new文件 差分文件 bspatch old.apk new2222.apk my.patch ``` ## 使用说明 ### Android studio项目中引用 ```gradle implementation 'com.gitee.gzlpsdp:mypatch:1.1' ``` ### 调用接口 ```java /** * @param type 1、自动更新 * @param mContext * @param packageNmae 包名 * @param apkPath 下载apk存放路径 * @param updateUrl app更新接口(get请求) */ AppUpdate.appUpdate(int type, Context mContext, String packageNmae, String apkPath, String updateUrl); ``` ### updateUrl返回参数 ```json { "success": true, "message": "查询成功", "code": 200, "data": { "id": 2, "version": "1.1", "downurl": "xxxx/cwty.apk", "description": "1、测试1112 | 2、换行测试", "date": "2024-04-28" } } ```