我们能否拥有一个既包含 apk 外部的 .odex 文件又包含 apk 内部的 classes.dex 文件的应用程序?

Can we have an app with both an .odex file outside the apk and also classes.dex file inside the apk?

我有一个 android 应用程序,其中包含一个 .odex 文件和 3 个 classes.dex 文件。这是一个大型应用程序。我没有该应用程序的源代码。

我的理解是:优化应用程序时,它会将应用程序代码移到 apk 之外的文件 *.odex 中。

自我回答:

如果预优化不应从 apk 或 jar 文件中剥离 classes.dex 文件,我们可以指定选项,使用 "LOCAL_DEX_PREOPT := false " ‘nostripping’。通常这个文件会被删除,因为它在预优化后不再需要,但最后一个选项是必要的,以允许第三方 APK 签名保持有效。

因此我们将同时创建 classes.dex 和 *.odex 文件。