android项目反编译后找不到R.class

我把别人的android项目反编译后却怎么也找不到R.class类,这样下来反编译后的程序就无法看明白了。请教大虾这是为什么?

反编译后肯定找不到。
解释:反编译后,class文件已经变为java文件了,所以肯定是没办法找到的。
备注:反编译工具都是针对的已经编译好的class文件,备注等内容是没办法被还原的,再就是反编译结果并不一定是源码的页面展示样式,代码顺序可能有变动。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-04-07
R.java是根据你在res里的文件自动生成的配置文件命名集。所以反编译是没意义的。本回答被提问者采纳
第2个回答  2011-04-07
楼主之前有开发过android的程序么?R.class只是存放了资源文件的索引而已,对阅读程序没有任何影响,而且如果你反编译了出所有资源文件(图片,文字等),开发工具会自动生成R.java文件。追问

主要是我反编译后需要研究layout布局文件,其中的id,background等资源显示的都是数字,需要找到R文件才能找到对应的资源名称。现在我反编译后有的项目有R.class类,有的没有。比如安智市场客户端反编译后就没有找到R.class类。我怀疑是他们通过某种方式把R.class类隐藏了。说明一下,我用的是dex2jar来反编译classes.dex。

第3个回答  2013-01-22
apk改为rar,提取出classes.dex
用dex2jar将dex转为jar
用jd-gui就可以提取到R.java

如果是要看res里的资源,用apktool

R.java若找不到,可以找res\values\public.xml , 里面有资源的id值

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网