SmartAppUpdates
SmartAppUpdates copied to clipboard
这个差分包的前提是 混淆文件不改动吗?
这个差分包的前提是 混淆文件不改动吗? 如果混淆文件改动了,那么混淆出来的Mapping 文件也会与旧的apk 文件很大不同,这个也可以使用com.cundong.utils.DiffUtils 来找到差分包吗? 原理是什么,可否解释下,谢谢!
知乎有相关回答,如果两次版本的混淆结果差别很大,应该还是可以diff的只是patch包会大一些。
2)混淆问题 现在大部分应用都会对自己做混淆,一方面是起到压缩安装包效果,另一方面是起到保护作用,避免代码逻辑被反编译。 混淆带来的一个坑就是同一个类,在不同时期,混淆的文件都不一样了。 比如Test.java 在1.0版本 Test.java -> a.java 在1.1版本 Test.java -> b.java 从而导致生成的patch包都非常大(a.java和b.java在程序的眼里是两个不同的文件)。 因此,我们在做混淆时,一般都要确保前后版本混淆一致。但外部应用,由于不受控制,所以,没法保证。(小tips:从这里看出做开发时,混淆前后一致的重要性)
作者:Jianjian Xiao 链接:https://www.zhihu.com/question/51888647/answer/127983295 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。