1

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

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

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

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

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

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

4

1 回答 1

2

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

于 2013-08-14T07:15:28.753 回答