如何获取Dalvik VM使用的标准Java库的类文件或Dalvik字节代码?

时间:2013-08-14 05:44:06

标签: java android bytecode dalvik dex

我想获得标准Java库的Dalvik字节码,我的意思是,Android使用的java库(例如java.util。* collections)。

我需要获取这些类文件,因为我想分析它们,而不是全部,但是java.util.*java.lang.*等等。

但是,在编译任何Android应用程序时,除了应用程序代码和依赖项库之外,不会生成那些标准库的类文件。

所以我想知道如何在Dalvik VM中编译时获取已编译的类文件(及其相应的dex文件)?

我试图在Android项目中提取标准Java库,比如获取所有Java源代码并将它们添加为应用程序代码,或者将classes.jarrt.jar)放在libs文件夹中,但是,这两种方式都不起作用,因为项目中的源代码或jar文件将与默认编译环境冲突,因此给出了可怕的错误Conversion to Dalvik format failed with error 1

知道如何得到我想要的东西吗?

1 个答案:

答案 0 :(得分:2)

系统库的源代码和二进制文件作为Android SDK的一部分提供。只需查看二进制文件的安装目录platforms/android-{version}/android.jar和源代码的sources/android-{version}(如果已安装)。