chenquincy / app-info-parser

A javascript parser for parsing .ipa or .apk files. IPA/APK文件 js 解析器

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

apk 中 icon 命名不规范,导致获取的 icon 不是不是最清晰的

snowtreetree opened this issue · comments

commented

apk 包 icon 命名不规范,导致获取的 icon 不是不是最清晰的,不太确定是不是可以将 findApkIconPath 函数替换掉,如下:

  • 个人觉得这么实现可能不太优雅,(findApkIconPath也没用了),😂。
  • 另外我截图里面 icon 的顺序,其实是和这些 icon 的大小是一致的(不知道是不是有关联)。
Promise.all(apkInfo.application.icon.map(iconPath => this.getEntry(iconPath))).then(icons => {
  const iconBuffer = icons.sort((a, b) => b.length - a.length)[0]
  apkInfo.icon = iconBuffer ? getBase64FromBuffer(iconBuffer) : null
  resolve(apkInfo)
}).catch(e => {
  apkInfo.icon = null
  resolve(apkInfo)
  console.warn('[Warning] failed to parse icon: ', e)
})

image

@snowtreetree 之前遇到过 icon 中包含其他图片的情况。这么改没法确保获取的图标是对的。

commented

好吧。
包含了其他图片的话,findApkIconPath 也可能会出错(命名不规范 && apkInfo.application.icon[0] 不是 icon) ,不是在抬杠,只是想了解下场景,🥲。
看到其他 issue 里面提到知乎的包,icon 里面还有 .xml 类型的。

Duplicate of #91