美文网首页
aapt dump badging 找不到'andro

aapt dump badging 找不到'andro

作者: 朔野 | 来源:发表于2016-07-13 17:29 被阅读675次

    今天服务器端同事报了个bug,在解析一个游戏apk包时,无法得到versioncode, 我自己用aapt dump badging 命令试了一下,确实是会报一个ERROR getting 'android:versionCode' attribute: attribute is not an integer value错误。

    用反编译后也无法得到versionCode。太阳底下没有新鲜事,果断先google一发,stackoverflow上面果然有人问过这个问题,原来这个问题的原因是aapt的一个bug,当app的androidmanifest文件的versionCode使用的引用值(android:versionCode="@integer/versioncode")时,就会解析错误。

    网友的回答都是修改versionCode的赋值方式,通过直接复制避免这个问题,可如果包已经打出来了怎么解决呢?

    我在查看了aapt命令的另外几个参数后终于有了解决方法,步骤如下:

    1. 使用命令aapt dump xmltree ***.apk AndroidManifest.xml先解析AndroidManifest文件,得到versionCode的引用值地址@0x7f0d009
    1.png
    1. 使用命令 aapt dump resources ***.apk得到所有resourcees信息,搜索上面的引用地址@0x7f0d009,得到
    2.png

    ,这个d就是真实的versionCode值了。

    相关文章

      网友评论

          本文标题:aapt dump badging 找不到'andro

          本文链接:https://www.haomeiwen.com/subject/tltejttx.html