我把别人的android项目反编译后却怎么也找不到R.class类,这样下来反编译后的程序就无法看明白了。请教大虾这是为什么?
反编译后肯定找不到。
解释:反编译后,class文件已经变为java文件了,所以肯定是没办法找到的。
备注:反编译工具都是针对的已经编译好的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值
用dex2jar将dex转为jar
用jd-gui就可以提取到R.java
如果是要看res里的资源,用apktool
R.java若找不到,可以找res\values\public.xml , 里面有资源的id值