Closed Picasso1990 closed 4 years ago
那这样是,如果我有两个apk,old.apk和new.apk: 1、在v2/v3签名的情况下,这两个apk都是需要经过ApkNormalized之后进行签名,之后的ZipDiff和ZipPatch之后的oldToNew.apk才能得到和new.apk一致。 2、在v1签名的情况下,需要对这两个apk进行ApkNormalized,这样之后的ZipDiff和ZipPatch之后的oldToNew.apk才能得到和new.apk一致。 这样理解正确吗?
是的; 增加ApkNormalized这个步骤,就是为了patch的输出结果二进制级别的“一致”;
(ApkNormalized的这个过程也兼容谷歌商店的 https://github.com/google/archive-patcher 方案,用于上架Play前的预处理)
好的,谢谢您~~~
您好,如您所说:if your need newZip(patch result) file byte by byte equal, Released newZip := ApkNormalized(newZip) before run ZipDiff, AND You should not modify the zlib version (unless it is certified compatible); if your apk(or jar) file used Jar sign(Apk v1 sign), is same as zip file; if your apk used Apk v2 sign(or Apk v3 sign), Released newZip := AndroidSDK#apksigner(ApkNormalized(newZip)) before ZipDiff;
问题: 1、我这边需要在v2签名的情况下,在apk中进行了patch之后在进行ApkNormalized吗? 2、在v1签名的情况下,是需要对old.apk,new.apk都进行了ApkNormalized之后,在apk合成的之后中需要进行ApkNormalized吗? 3、如果上述问题是需要在apk合成的之后进行ApkNormalized的话,那这个过程是在android手机中进行的,那有这部分的库吗?
thx~~~