首页 > 解决方案 > 为什么构建相同的源代码时class.dex文件不同

问题描述

我在同一台机器上通过 Eclipse + Android 插件构建了相同的 android 项目 5 次。第一个构建的 class.dex 文件和第三个构建的 class.dex 文件相同,但它们与另一个构建不同。虽然我认为 class.dex 文件应该是相同的,但我对 Android 编译器过程了解不多。我想知道这是否与编译器的多线程或优化过程有关。任何帮助将不胜感激。

标签: androidcompiler-constructiondex

解决方案


dex 文件可以通过多种方式在字节上与另一个文件不同,但在语义上是相同的。

例如,在 dex 文件的某些部分中,没有指定项目的顺序,因此可以将项目放置在 2 个不同但语义相同的 dex 文件中的不同位置。


推荐阅读