软件包管理器配置(已弃用)

软件包管理器中的 dexopt 实现仅适用于 Android 13 及更低版本。在 Android 14 中,它已替换为 ART 服务,并且将在下一版本中从软件包管理器中移除。如需详细了解如何配置 ART 服务,请参阅ART 服务配置

自 Android 7.0 起,有一种通用方法可以指定在各个阶段发生的编译/验证级别。编译级别可以通过系统属性进行配置,默认值为:

  • pm.dexopt.install=speed-profile
  • 这是通过 Google Play 或其他应用商店安装应用时使用的编译过滤器。我们建议将安装过滤器设置为 speed-profile,以便能够使用来自 dex 元数据文件的配置文件(请参阅博客)。请注意,如果未提供配置文件或配置文件为空,则 speed-profile 等同于 verify

  • pm.dexopt.bg-dexopt=speed-profile
  • 这是设备处于空闲和充电状态时使用的编译过滤器。尝试使用 speed-profile 编译器过滤器,以利用配置文件引导的编译并节省存储空间。

  • pm.dexopt.boot-after-ota=verify
  • 这是在 OTA 更新后使用的编译过滤器。我们强烈建议为此选项使用 verify 编译器过滤器,以避免启动时间过长。

  • pm.dexopt.first-boot=verify
  • 这是设备首次启动时使用的编译过滤器。此处使用的过滤器仅影响出厂后的启动时间。我们建议使用 verify 过滤器,以避免用户首次使用手机前等待时间过长。请注意,如果系统映像中的所有应用都已使用 verifyspeed-profilespeed 以及正确的类加载器上下文进行编译,则首次启动时的编译将被跳过,并且 pm.dexopt.first-boot 将不起作用。