我总是用apktool来反编译apk文件,你知道,有些资源的名字看起来很奇怪,就像这样:<attr name="do" format="string" />
。当它被反编译时。
问题是:当重建包含此资源文件的文件夹,然后发生错误时,错误消息如下:“错误:无效符号:'do'”或error: invalid symbol: 'if'
。
原因,我已经阅读了apktool的源代码,我发现这些错误消息不是由apktool抛出,而是在执行代码OS.exec(cmd.toArray(new String[0]));
时在a brut.androlib.res
中抛出AndroidLibResources.java
个文件。所以,我认为谷歌已经忘记处理这些例外,因为“if”和“do”这两个词也是大多数流行编程语言的关键词,有没有人遇到过同样的麻烦?希望你的帮助。
答案 0 :(得分:0)
这是aapt
中的错误,这就是您在apktool中看到该行错误的原因。基本上像do
和if
这样的符号具有特殊含义。 aapt
应该忽略它并按字面意思对待它们,但验证有点过于强烈。
您可以关注AOSP错误报告here。