Apktool惊天沙雕大bug

先记录,有时间慢慢研究。
结论:官方版本apktool decode出来的目录不做任何修改重新build经常会报找不到资源错误,是因为部分资源decode出来如下:

renyideMacBook-Pro:tmp renyi$ vi /Users/renyi/tmp/castbox/res/menu/z.xml



    
    

正确内容应该将showAsAction换成s0,因为本身apk被混淆过,强行decode成明文反而会导致无法被识别。
这个问题在作者的issue里也提到了,并且最后的一个哥们给出了他处理过的apktool.jar解决了这个问题。链接
But!!!
这个小哥给的jar虽然可以正常处理混淆问题但是总是会把array类型的资源搞丢,你去res/values/arrays.xml中发现item都没了。好傻逼。不过还好除了这个暂时没发现其他问题。
于是正常的流程:用小哥的apktool decode,然后用官方apktool decode出来的arrays.xml替换掉前者目录中的相应文件。
你说沙雕不沙雕?

你可能感兴趣的:(Apktool惊天沙雕大bug)