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

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

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

 

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

 

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

 

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

 在2.0.0的apktool版本下面:

 

 

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

 

 

 

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

posted @ 2016-01-12 14:12  TwoFish  阅读(557)  评论(0编辑  收藏  举报