我应该使用哪个作为补丁包下发,如何做多次修复?
patch_signed_7zip.apk
是已签名并且经过7z压缩的补丁包,但是你最好重命名一下,不要让它以.apk
结尾,这是因为有些运营商会挟持以.apk
结尾的资源。
另外一点,我们在发起补丁请求时,需要先将补丁包先拷贝到dataDir中。因为在sdcard中,补丁包是极其容易被清理软件删除。这里可以参考UpgradePatchRetry.java的实现。
对于补丁包的版本问题,我们可以在packageConfig中增加,例如sample中的
- packageConfig {
- /**
- * patch version via packageConfig
- */
- configField("patchVersion", "1.0")
- }
Tinker支持对同一基准版本做多次补丁修复,在生成补丁时,oldApk依然是已经发布出去的那个版本。即补丁版本二的oldApk不能是补丁版本一,它应该依然是用户手机上已经安装的基准版本。