SmartAppUpdates icon indicating copy to clipboard operation
SmartAppUpdates copied to clipboard

这个差分包的前提是 混淆文件不改动吗?

Open shenxiaolin opened this issue 8 years ago • 1 comments

这个差分包的前提是 混淆文件不改动吗? 如果混淆文件改动了,那么混淆出来的Mapping 文件也会与旧的apk 文件很大不同,这个也可以使用com.cundong.utils.DiffUtils 来找到差分包吗? 原理是什么,可否解释下,谢谢!

shenxiaolin avatar Dec 31 '16 23:12 shenxiaolin

知乎有相关回答,如果两次版本的混淆结果差别很大,应该还是可以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 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

zeyios avatar Dec 03 '17 13:12 zeyios