关于ApkTool不同版本在重新打游戏包时候的区别

在工作中由于使用到将游戏CP提供的apk包重新反编译,然后二次签名出包,所以遇到了一个奇怪的bug。

下面是CP提供的apk包,将近358M

关于ApkTool不同版本在重新打游戏包时候的区别

但是在重新编译之后,包变成了250M左右的apk包,虽然可以运行,但是比较奇怪,为什么有些资源会被压缩。

开始以为是Zipalign的优化原因,后来发现即使去掉这一步,在编译时候也一样会丢失100M的大小。

后来发现是apktool的版本原因:

在2.0.0的apktool版本下面:

关于ApkTool不同版本在重新打游戏包时候的区别

关于ApkTool不同版本在重新打游戏包时候的区别

但是在换了一个apktool的版本2.0.2之后:

关于ApkTool不同版本在重新打游戏包时候的区别

关于ApkTool不同版本在重新打游戏包时候的区别

注意:在有时候提交游戏包给联运渠道时候,渠道会重新打包,换成他们自己的签名,还会加上自己的一些东西,此时可能会造成里面的资源被压缩,如果CP对于资源的压缩处理不好,可能导致有时候游戏包第一次运行时候,会发生Crash现象(此处是血与泪的大坑,本地测试最终包没有问题,但是提交给联运渠道之后,渠道测试通不过,一直由于资源的压缩导致闪退,渠道也不会说自己重新打包,甚至知道重新打包,可能也无法排查原因,在MWGD和QMSH中都遇到了这个问题)。

上一篇:Web安全学习笔记之Nmap扫描原理与用法


下一篇:Linux下重启mysql数据库的方法