U8SDK——BUG(meta-data节点重复的BUG)

作者: 分类: U8SDK 发布时间: 2015-05-04 09:43 63条评论

之前@涛涛同学发现了一个打包工具的BUG,这里备注修复一下在apk_utils.py中的writeManifestMetaInfo方法中,我们会排查重复的项,避免meta-data的重复。但是之前查重代码是这样的:

这个代码乍看没啥问题,加打印信息也是正常执行的。

但是最终打出来的包里,如果渠道SDK参数里面有某个属性需要写入到AndroidManifest.xml,恰巧游戏原来的AndroidManifest.xml里面正好有一个一模一样的meta-data.那么会导致最终的AndroidManifest.xml里面有两个重名的meta-data.

这个BUG是因为我们在remove的时候,用过了对象。我们的本意是查出有重复的,则把原来的给删除掉。
然后xml中的节点,我们需要用父节点删除子节点。而上面的代码,我们使用的是metaDataList.remove(),这样删除的仅仅是队列里面的项,而AndroidManifest.xml中的节点依然还在。

所以这里,我们需要将metaDataList.remove(metaDataNode)给改为appNode.remove(metaDataNode).最终代码如下:

请在使用u8sdk的童鞋记得对应的修复一下!!!这里感谢@涛涛同学。欢迎童鞋们在使用过程中遇到BUG,及时回馈给我。我会及时修复。            

本文出自 U8SDK技术博客,转载时请注明出处及相应链接。

本文永久链接: http://www.uustory.com/?p=1625

评论功能已经关闭,请加入U8SDK技术群进行讨论和咨询:207609068
Ɣ回顶部
U8SDK技术群 x
技术同学请加入
点击加入