【问题标题】:Does apktool create the R.class?apktool 是否创建 R.class?
【发布时间】:2026-01-10 17:50:02
【问题描述】:

我使用

反编译了一个 apk
apktool d -d myapp.apk

然后我在 res/drawabe 中添加一个 png 图像 最后我用“apktool b”重新编译apk

但实际上我认为我的图片没有映射到R文件中(类似于0x000001),并且找不到资源R.drawable.myimage

是否可以告诉 apktool 来映射图片? apktool 命令行是什么?

谢谢

【问题讨论】:

  • 即使 apktool 重新生成了 R.java 文件,那么您不会将您的可绘制对象分配给任何控件...所以它完全没用。
  • 好的,所以我只想替换已分配的图像。是否有可能,只需更改我的可绘制文件夹中的图像?
  • 是的。如果您要替换现有图像,并使用相同的文件名,则可以这样做。 R 没有改变。

标签: android apktool


【解决方案1】:

没有

apktool d 将 resource.ascr 解码为 res/values/public.xml 并将 R.classes 解码为 R.smalis

apktool b 只是将 res/values/public.xml 构建到 resource.ascr 文件中

映射完全没有变化,映射信息在public.xml和R.smalis中,很多id都编译到smali代码中

您可以手动进行映射

我已经做到了,它确实有效!

相信我,我们已经在生产环境中运行它

但工作量真的很大

【讨论】: