diff options
-rw-r--r-- | cmds/installd/otapreopt_chroot.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/cmds/installd/otapreopt_chroot.cpp b/cmds/installd/otapreopt_chroot.cpp index 7c989f6ced..6459805ba3 100644 --- a/cmds/installd/otapreopt_chroot.cpp +++ b/cmds/installd/otapreopt_chroot.cpp @@ -61,11 +61,15 @@ static void CloseDescriptor(const char* descriptor_string) { static std::vector<apex::ApexFile> ActivateApexPackages() { // The logic here is (partially) copied and adapted from - // system/apex/apexd/apexd_main.cpp. + // system/apex/apexd/apexd.cpp. // - // Only scan the APEX directory under /system (within the chroot dir). - // Cast call to void to suppress warn_unused_result. - static_cast<void>(apex::scanPackagesDirAndActivate(apex::kApexPackageSystemDir)); + // Only scan the APEX directory under /system, /system_ext and /vendor (within the chroot dir). + std::vector<const char*> apex_dirs{apex::kApexPackageSystemDir, apex::kApexPackageSystemExtDir, + apex::kApexPackageVendorDir}; + for (const auto& dir : apex_dirs) { + // Cast call to void to suppress warn_unused_result. + static_cast<void>(apex::scanPackagesDirAndActivate(dir)); + } return apex::getActivePackages(); } |