将android反编译apk生成的代码里的id数字替换成public.xml文件里对应的name

有过反编译经验的人都会发现这个问题:反编译了一个apk,但是代码里的id全是数字,
这是代码里的内容,id是十进制:
      this.mHeaderTextView.setText(2131428266);
      localTextView.setText(getResources().getString(2131428311));
对应的name在生成的另一个public.xml文件里,
这是public里的内容,id是十六进制:
    
    
    
代码有点多,所以一个个手动代码有点不现实,
问题来了,请问这个怎么弄个脚本或批处理将代码里的数字代码成像R."type"."name"这种格式?
如:this.textView.setText(2131428211)
代换成this.textView.setText(R.string.title)

这有个参考帖,
http://blog.csdn.net/annkie/article/details/7790026
但他是R.java,我的是public.xml,
而且用的是perl,不会perl,
所以不知道怎么改。

解决方案:找个批量十进制转十六进制的工具逐个转换,对照替换就ok,这里附上一个在线转进制的网站:https://tool.lu/hexconvert/

 

你可能感兴趣的:(android)