项目作者: lizhangqu

项目描述 :
An universal patch generator and applier such as using BsDiff/BsPatch and Google Archive Patch
高级语言: Java
项目地址: git://github.com/lizhangqu/CorePatch.git
创建时间: 2017-10-03T01:35:10Z
项目社区:https://github.com/lizhangqu/CorePatch

开源协议:BSD 3-Clause "New" or "Revised" License

下载


CorePatch

An universal patch generator and applier such as using BsDiff/BsPatch and Google Archive Patch.

Changelog

See details in CHANGELOG.

Examples

I have provided a sample. It is based on unit test.

See sample here on Github.

To run the test cases, simply clone this repository, use android studio to compile and run

Usage

Dependency

gradle

  1. dependencies {
  2. //for generator
  3. compile "io.github.lizhangqu:corepatch-core-generator:1.0.4"
  4. //for applier
  5. compile "io.github.lizhangqu:corepatch-core-applier:1.0.4"
  6. }

maven

  1. //for generator
  2. <dependencies>
  3. <dependency>
  4. <groupId>io.github.lizhangqu</groupId>
  5. <artifactId>corepatch-core-generator</artifactId>
  6. <version>1.0.4</version>
  7. </dependency>
  8. </dependencies>
  9. //for applier
  10. <dependencies>
  11. <dependency>
  12. <groupId>io.github.lizhangqu</groupId>
  13. <artifactId>corepatch-core-applier</artifactId>
  14. <version>1.0.4</version>
  15. </dependency>
  16. </dependencies>

Generator

  1. //get generator
  2. Generator generator = CoreGenerator.getInstance().getGenerator(CoreGeneratorType.BS);
  3. //Generator generator = CoreGenerator.getInstance().getGenerator(CoreGeneratorType.ARCHIVE);
  4. //Generator generator = CoreGenerator.getInstance().getGenerator(CoreGeneratorType.TOTAL);
  5. //Generator generator = CoreGenerator.getInstance().getGenerator("BS");
  6. //Generator generator = CoreGenerator.getInstance().getGenerator("ARCHIVE");
  7. //Generator generator = CoreGenerator.getInstance().getGenerator("TOTAL");
  8. //generate
  9. generator.generate(oldFile, newFile, toGeneratedPatchFile);
  10. //generator.generate(oldFile, newFile, toGeneratedPatchOutputStream);
  11. //md5
  12. String md5 = generator.calculateMD5(toGeneratedPatchFile);

Applier

  1. //get applier
  2. Applier applier = CoreApplier.getInstance().getApplier(CoreApplierType.BS);
  3. //Applier applier = CoreApplier.getInstance().getApplier(CoreApplierType.ARCHIVE);
  4. //Applier applier = CoreApplier.getInstance().getApplier(CoreApplierType.TOTAL);
  5. //Applier applier = CoreApplier.getInstance().getApplier("BS");
  6. //Applier applier = CoreApplier.getInstance().getApplier("ARCHIVE");
  7. //Applier applier = CoreApplier.getInstance().getApplier("TOTAL");
  8. //apply
  9. applier.apply(oldFile, pacthFile, toGeneratedNewFile);
  10. //applier.apply(oldFile, pacthInputStream, toGeneratedNewOutputStream);
  11. //md5
  12. String md5 = applier.calculateMD5(toGeneratedNewFile);

License

CorePatch is under the BSD license. See the LICENSE file for details.