WITH_DEXPREOPT环境变量的用途是什么?

时间:2019-06-10 11:18:12

标签: android-source

在供应商目录中添加我的应用程序包后,我正在构建Android源代码。但是make没说

DWARF ERROR: Invalid pointer.

我现在没有确切的错误,后来在寻找原因之后,我遇到了一篇要求使用的帖子

export WITH_DEXPREOPT = false

在构建之前。因此使用此代码后,构建成功。

任何人都可以向我解释环境变量WITH_DEXPREOPT的使用吗?

(已编辑)

小部分错误日志 enter image description here

1 个答案:

答案 0 :(得分:0)

ART现在是Android上的默认运行时。

WITH_DEXPREOPT := true

这使odexed的构建变得很明显 更新后的启动时性能。当用户使用设备时,性能也有了重大改善 加密。通过设备加密,数据分区(包含 已编译的OAT文件)在解密之前不可用,但是系统 需要加载大多数框架和许多软件包,只需 显示解密提示和键盘。

因此,使用加密的设备需要很长时间才能启动到 提示。很长的时间。如果您使用WITH_DEXPREOPT,这将 大大提高了这些设备上的启动性能。

WITH_DEXPREOPT使用更多的存储空间 该设备。对于现代高规格设备来说,这并不多,但还有更多 遗留问题。如果您按照以下说明进行操作 https://source.android.com/devices/tech/dalvik/configure.html#sample_usage 但是,它将指导您逐步减少正在发生的事情 进行优化,直到找到适合系统的东西,然后工作。

WITH_DEXPREOPT := false

这将创建不带OAT文件的独立apk。

有更多可用信息,请访问 https://source.android.com/devices/tech/dalvik/configure.html