# 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/#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"
}
}
```